Indholdsfortegnelse:
- Trin 1: Opbygning af hardware
- Trin 2: Indlæsning af softwaren
- Trin 3: Spil spillet
- Trin 4: Konklusion
Video: Sheepshead kortspil med Esp8266: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
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
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
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
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:
ESP8266 - Havevanding med timer og fjernbetjening via internet / ESP8266: 7 trin (med billeder)
ESP8266 - Havevanding med timer og fjernbetjening via internet / ESP8266: ESP8266 - Vanding fjernstyret og med timing til køkkenhave, blomsterhaver og græsplæner. Det bruger ESP-8266 kredsløbet og en hydraulisk / elektrisk ventil til vanding af vanding. Fordele: Lave omkostninger (~ US $ 30,00) hurtig adgang Kommandoer over
Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin
Akustisk levitation med Arduino Uno Step-by Step (8-trin): ultralyds lydtransducere L298N Dc kvindelig adapter strømforsyning med en han-DC-pin Arduino UNOBreadboard Sådan fungerer det: Først uploader du kode til Arduino Uno (det er en mikrokontroller udstyret med digital og analoge porte til konvertering af kode (C ++)
Sådan laver du et kortspil på en Raspberry Pi: 8 trin
Sådan laver du et kortspil på en Raspberry Pi: Formålet med dette er at skabe et spil på hindbærpi ved hjælp af musik, knapper, lys og en summer! spillet hedder esser og målet er at komme så tæt som muligt på 21 uden at gå over Trin 1: Forberedelse af Raspberry Pi Få hindbærpi og
DIY smart skala med vækkeur (med Wi-Fi, ESP8266, Arduino IDE og Adafruit.io): 10 trin (med billeder)
DIY Smart Scale With Alarm Clock (med Wi-Fi, ESP8266, Arduino IDE og Adafruit.io): I mit tidligere projekt udviklede jeg en smart badevægt med Wi-Fi. Det kan måle brugerens vægt, vise det lokalt og sende det til skyen. Du kan få flere detaljer om dette på linket herunder: https: //www.instructables.com/id/Wi-Fi-Smart-Scale-wi
ESP8266 Robotbil programmeret med ESP8266 Basic: 18 trin (med billeder)
ESP8266 Robotbil programmeret med ESP8266 Basic: Jeg er en naturskolelærer på mellemskolen og også rådgiver i Robotic Club. Jeg har ledt efter mere omkostningseffektive måder at få robotter i hænderne på mine elever. Med de lave priser på ESP8266 -plader har jeg været i stand til at skabe en autonom