Indholdsfortegnelse:

Sheepshead kortspil med Esp8266: 4 trin
Sheepshead kortspil med Esp8266: 4 trin

Video: Sheepshead kortspil med Esp8266: 4 trin

Video: Sheepshead kortspil med Esp8266: 4 trin
Video: This entire card game is a quantum physics joke 2024, Juli
Anonim
Sheepshead kortspil med Esp8266
Sheepshead kortspil med Esp8266

Sheepshead er et kortspil, som mine tanter og onkler ville spille under familiesammenkomster. Det er et trick -taking kortspil med oprindelse i Europa. Der er flere versioner, så min version kan være lidt anderledes end hvad du spiller. I den version, jeg implementerede, kan du spille med 3, 4 eller 5 spillere, hvor 5 er det ideelle antal spillere. Spillet bruger 32 kort fra et standard 52 kortstykke.

De grundlæggende regler kan findes her:

En kort opsummering af reglerne for et spil med 5 spillere; hver spiller får 6 kort og to kort bliver givet til de blinde. Spilleren til venstre for dealerne får den første chance for at vælge den blinde, derefter den næste spiller osv., Indtil nogen vælger den blinde, eller indtil alle spillere har haft en ændring at vælge. Hvis ingen vælger, starter spillet forfra, og der uddeles nye kort. Den person, der vælger blinde, kaldes plukkeren. Vælgeren vælger en partner ved at kalde en dragt, enten hjerter, klubber eller spader, men skal have et kort af samme kulør i hånden. Spilleren, der har esset i den kaldte kulør, er partneren. Spillere skal følge trop med det første kort, der er spillet, trumf er en kulør. Partneren skal spille esset, når den kaldte dragt føres for første gang. Vælgeren og partneren skal få 61 point for at vinde spillet. De spillere, der ikke er plukkeren eller partneren, danner et hold, og deres point slås sammen for at slå dem. Se reglerlink ovenfor for at score.

For 3 og 4 spillerers spil er der ingen partner, og der uddeles henholdsvis 10 eller 8 kort.

Jeg implementerede ikke et spil leaster. Når ingen spiller vælger spillet, kunne spillet fortsætte med spillerens leaster. Leaster -vinderen er den spiller, der tager mindst et trick og scorer færrest antal point.

Spiludvikling:

Min inspiration til dette projekt kom fra at ville oprette en Sheepshead -applikation og også lære jquery. Jeg brugte også dragula.js til at hjælpe med træk og slip af kortene. Esp8266 sættes i AP -tilstand. For at oprette forbindelse skal du bruge en WiFi -enhed, der kan oprette forbindelse til "Sheepshead" -netværket og gå til https://191.168.1.1 -webstedet.

Dette er mine første instruktioner, så jeg ville sætte pris på enhver feedback. Jeg vil forsøge at besvare dine spørgsmål, når jeg kan.

Trin 1: Opbygning af hardware

Bygger hardware
Bygger hardware
Bygger hardware
Bygger hardware
Bygger hardware
Bygger hardware

Krav til hardware

Dette kan laves med en Wemos D1 Mini eller med en esp8266-esp-07 eller esp-12.

ESP8266 bygge:

  • esp8266 (esp-07 eller esp-12)
  • hvidt monteringsbræt til esp8266 + stik
  • 6-polet hunstik (valgfrit)
  • LM317 spændingsregulator
  • (2) 10K Ohm modstand
  • 390 Ohm modstand
  • 220 Ohm modstand
  • 20 Ohm modstand
  • (2) kortvarige trykknapper
  • 100n keramisk kondensator
  • 10uF elektrolytkondensator
  • 220uF elektrolytkondensator
  • 1N4002 diode (valgfri)
  • tønde -stik (jeg brugte et sidemontering og loddet til et 3 -polet hanstik)
  • Projektboks
  • Strømforsyning

Jeg inkluderede ExpressSCH- og ExpressPCB -filer, jeg brugte til at bygge kredsløbet. Som du kan se på billedet, tilføjede jeg ikke knapperne eller brugte J2 -stikket (som kan bruges med FTDI232RL -modul til programmering af esp8266). Hvis du vil bruge dette som en esp8266 -programmerer, skal du bruge knapperne og J2 -stikket. For at blinke software eller data skal du nulstille enheden (SW1), holde den nede, mens du trykker på (SW2) -knappen, derefter slippe knappen (SW1) og derefter uploade koden.

Inden komponenter placeres, skal du kontrollere kredsløbet ved at teste hver forbindelse. Kontroller, at spændingsregulatoren leverer 3,3 volt, og dobbelttjek alle tilslutninger. Hvis du ikke er sikker, anbefaler jeg at bruge en Wemos D1 mini, da der ikke er behov for lodning.

Trin 2: Indlæsning af softwaren

Indlæser softwaren
Indlæser softwaren

Software

Jeg inkluderede softwaren til dette projekt. Jeg vil give en kort forklaring af hver klasse og hvad den bruges til, men jeg vil ikke gå i detaljer. Dette spil er et bevis på, at et kortspil kan laves på en esp8266. Spillet har et par problemer, som jeg ikke har løst endnu. For eksempel når en bruger logger ind og mister forbindelsen, frigives de ikke fra spillet og kan ikke genoprette forbindelse til spillet. Den eneste vej udenom dette er at nulstille spillet og starte forfra. Spillet er lidt langsomt og opdaterer undertiden ikke kortene. Brugeren kan opdatere browseren, som skal vise kortene korrekt. Hvis brugeren gemmer linket på deres startskærm (til iPhone), er opdateringsknappen ikke tilgængelig, hvilket gør det umuligt at opdatere. Nogle gange er det svært at trække og slippe kort til/fra blinde på små enheder.

Card.h og Card.ino Card klasse

Denne klasse indeholder kortdrag, rang, point og hvilke kort der er trumf.

Deck.h og Deck.ino Deck klasse

Denne klasse indeholdt oplysninger om kortdækket. Den har metode til at blande bunken og få kort fra bunken. Det bruger et tilfældigt frø til at blande dækket

Hand.h og Hand.ino

Denne klasse implementerer IGame -grænsefladen og indeholder oplysninger om hver spillers hånd. Hvem vælgeren, partnerne og forhandleren er. Det holder, hvem det er tur til, hvad der kaldes kulør, hvad er hoveddragt, hvilket håndnummer, antal spillere, hvem vinderen osv.

Player.h og Player.ino Player klasse

Denne klasse indeholder spillerinformation, f.eks. Spillernavn, holdpoint, hvis spilleren valgte eller passerede og viser meddelelse til spilleren.

IGame.h og IGame.ino IGame interface klasse

Denne klasse har Deck-, Card- og Player -klasser til at styre spilforløbet.

Sheepshead.ino

Indeholder opsætnings- og loop -funktionen for at betjene webstedet.

login.html og login.js filer

Disse filer styrer flowet til webstedet for brugerlogin

sheepshead.html og sheepshead.js filer

Disse filer styrer strømmen af webstedet fåreskindspil.

Kortbilleder

gemmer billedet af hvert kort inklusive bagsiden af kortet.

Her er en kort forklaring, der indlæser software på esp8266. Der er flere eksempler på nettet, der kan forklare det mere detaljeret. Sådan indlæste jeg softwaren og dataene ved hjælp af Arduino IDE -softwaren.

  • Installer Arduino -softwaren og esp8266 -kortfiler, se https://github.com/esp8266/Arduino for at få flere oplysninger.
  • Hvis du bruger en Wemos D1 mini, skal du indstille Flash -størrelsen til 4M (1M SPIFFS). Hvis du bruger en generisk esp8266 esp-07 eller esp-12, skal du indstille Flash-størrelsen til 1M (512 SPIFFS).
  • Du skal muligvis installere nogle ekstra biblioteker i Arduino -softwaren.
  • Følg dette link for at installere SPIFF-data
  • pak Sheepshead -softwaren ud, og læg den på din computer.
  • Start Arduino IDE -softwaren, og åbn Sheepshead -projektet
  • Installer Sheepshead -koden på esp8266 -enheden ved at klikke på upload -knappen. Hvis du ikke bruger Wemos D1 Mini, skal du muligvis sætte enheden i flashtilstand ved at klikke på nulstillingsknappen (SW1) og holde den nede, mens du trykker på (SW2) -knappen, derefter slippe (SW1) -knappen og derefter uploade koden.
  • Installer dataene på esp8266 -enheden ved at gå til værktøjer i menuen og klikke på "ESP8266 Sketch Data Upload". Du skal følge de samme trin som ovenfor for at sætte enheden i flash -tilstand.
  • Når softwaren og dataene er indlæst, er du klar til at spille spillet.

Trin 3: Spil spillet

At spille spillet
At spille spillet
At spille spillet
At spille spillet
At spille spillet
At spille spillet

For at oprette forbindelse skal du bruge en WiFi -enhed, der kan oprette forbindelse til "Sheepshead" -netværket, og derefter gå til https://191.168.1.1 -webstedet.

  • Spillere deltager ved at indtaste deres navn og klikke på Deltag. Spillet forudsætter, at du vil have 5 spillere, hvis ikke en spiller skal vælge antallet af spillere, før den sidste spiller slutter sig til spillet.
  • Når den sidste spiller slutter sig, bliver kortene delt ud, og spillet starter, når spilleren klikker på Start -knappen.
  • Spillet lader ikke en spiller spille et ugyldigt kort eller spille skiftevis.
  • Når der klikkes på et kort, stiger det i størrelse for at blive mere synligt. Hvis der klikkes en anden gang, vil kortet blive spillet.
  • Spillernes navn fremhæves med hvide bogstaver.
  • Spilleren, der skal spille næste gang, har en rød boks, der omgiver deres navn og kort.
  • Spillet starter med at tillade en spiller at vælge blinde eller passere. Når en spiller vælger blinde, kan de trække og slippe kortene fra blinde til/fra hånden. Når plukkeren har de kort, de ønsker, skal de vælge en kaldet dragt fra rullemenuen.
  • Spillet bekræfter, at de har et passende kort til den kaldte kulør.
  • Spillet starter, når den første spiller spiller det første kort, hver spiller spiller et kort, og vinderen for hånden vises. Pointene beregnes og vises for hver spiller/hold.
  • Vinderen af hånden spiller det første kort, og hver spiller spiller et kort.
  • Spillet fortsætter, indtil alle kort er spillet
  • En vinder er bestemt.
  • Den næste person bliver dealeren, og et nyt spil begynder.

Trin 4: Konklusion

Dette er min første instruks, og jeg glæder mig over din feedback. Som sagt er dette et bevis på konceptet på, at et kortspil kan laves på en esp8266 -enhed. Det har et par problemer, men kan afspilles. Jeg ser frem til dine kommentarer og forslag.

Anbefalede: