Innehållsförteckning:
Video: Sheepshead -kortspel med Esp8266: 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
Sheepshead är ett kortspel som mina mostrar och farbröder skulle spela under familjeträffar. Det är ett trick som tar kortspel med sitt ursprung i Europa. Det finns flera versioner så min version kan vara lite annorlunda än vad du spelar. I den version jag implementerade kan du spela med 3, 4 eller 5 spelare, varav 5 är det idealiska antalet spelare. Spelet använder 32 kort från ett standardkort med 52 kort.
De grundläggande reglerna finns här:
En kort sammanfattning av reglerna för ett spel med fem spelare; varje spelare får 6 kort och två kort delas ut till blinda. Spelaren till återförsäljarna till vänster får den första chansen att välja den blinda, sedan nästa spelare osv tills någon väljer den blinda eller tills alla spelare hade en förändring att välja. Om ingen väljer spelet börjar om och nya kort delas ut. Den som väljer den blinda kallas plockaren. Plockaren väljer en partner genom att kalla en kostym, antingen Hearts, Clubs eller Spades men måste ha ett kort av samma färg i handen. Spelaren som har essen i den kallade dräkten är partnern. Spelare måste följa efter det första kortet som spelas, trumf är en färg. Partnern måste spela ess när den kallade dräkten är ledande för första gången. Plockaren och partnern måste få 61 poäng för att vinna spelet. Spelarna som inte är plockaren eller partnern bildar ett lag och deras poäng sammanfogas för att slå dem. Se reglerlänk ovan för poäng.
För spel med 3 och 4 spelare finns det ingen partner och 10 eller 8 kort delas ut.
Jag implementerade inte ett spel med leaster. När ingen spelare väljer spelet kan spelet fortsätta med spelare. Leaster -vinnaren är spelaren som tar minst ett trick och får minst antal poäng.
Spelutveckling:
Min inspiration för det här projektet kom från att jag ville skapa en Sheepshead -applikation och också lära mig jquery. Jag använde också dragula.js för att hjälpa till med att dra och släppa korten. Esp8266 sätts i AP -läge. För att ansluta behöver du en WiFi -enhet som kan ansluta till "Sheepshead" -nätverket och gå till https://191.168.1.1 webbplats.
Detta är mina första instruktioner så jag skulle uppskatta all feedback. Jag ska försöka svara på dina frågor när jag kan.
Steg 1: Bygga hårdvaran
Hårdvarukrav
Detta kan göras med en Wemos D1 Mini eller med en esp8266-esp-07 eller esp-12.
ESP8266 bygga:
- esp8266 (esp-07 eller esp-12)
- vit monteringsbräda för esp8266 + kontakter
- 6-polig honkontakt (tillval)
- LM317 spänningsregulator
- (2) 10K Ohm motstånd
- 390 Ohm motstånd
- 220 Ohm motstånd
- 20 Ohm motstånd
- (2) tillfälliga tryckknappar
- 100n keramisk kondensator
- 10uF elektrolytkondensator
- 220uF elektrolytkondensator
- 1N4002 -diod (tillval)
- fatkontakt (jag använde ett sidofäste och löddes till en 3 -polig hankontakt)
- Projektlåda
- Strömförsörjning
Jag inkluderade ExpressSCH- och ExpressPCB -filer som jag använde för att bygga kretsen. Som du kan se på bilden lade jag inte till knapparna eller använde J2 -kontakten (som kan användas med FTDI232RL -modulen för programmering av esp8266). Om du vill använda detta som en esp8266 -programmerare behöver du knapparna och J2 -kontakten. För att flasha programvara eller data måste du återställa enheten (SW1) och hålla den intryckt medan du trycker på (SW2) -knappen, släpp sedan (SW1) -knappen och ladda upp koden.
Innan du placerar några komponenter kontrollerar du kretsen genom att testa varje anslutning. Kontrollera att spänningsregulatorn matar ut 3,3 volt och dubbelkontrollera alla anslutningar. Om du inte är säker rekommenderar jag att du använder en Wemos D1 mini eftersom ingen lödning krävs.
Steg 2: Ladda ner programvaran
programvara
Jag inkluderade programvaran för detta projekt. Jag kommer att ge en kort förklaring av varje klass och vad den används till men jag tänker inte gå in på detaljer. Detta spel är ett bevis på konceptet att ett kortspel kan göras på en esp8266. Spelet har några problem som jag inte har löst ännu. Till exempel när en användare loggar in och förlorar anslutning frigörs de inte från spelet och kan inte återansluta till spelet. Den enda vägen runt detta är att återställa spelet och börja om. Spelet är lite långsamt och uppdaterar ibland inte korten. Användaren kan uppdatera webbläsaren som ska visa korten korrekt. Om användaren sparar länken på sin startskärm (för iPhone) är uppdateringsknappen inte tillgänglig vilket gör det omöjligt att uppdatera. Ibland är det svårt att dra och släppa kort till/från blinda på små enheter.
Card.h och Card.ino Card -klass
Denna klass innehar kortdräkt, rang, poäng och vilka kort som är trumf.
Deck.h och Deck.ino Deck klass
Denna klass innehöll kortlekens information. Den har metod för att blanda kortlek och för att få kort från kortlek. Den använder ett slumpmässigt frö för att blanda däcket
Hand.h och Hand.ino
Denna klass implementerar IGame -gränssnittet och innehåller information om varje spelares hand. Vem är plockaren, partners och återförsäljare. Det håller vems tur det är, vad kallas dräkten, vad är huvuddräkten, vilket handnummer, antal spelare, vem som vinnare osv.
Player.h och Player.ino Player klass
Den här klassen innehåller spelarinformation, som spelarnamn, lagpoäng, om spelaren valde eller passerade och visar meddelande till spelaren.
IGame.h och IGame.ino IGame -gränssnittsklass
Den här klassen har däck-, kort- och spelarklasser för att styra spelflödet.
Sheepshead.ino
Håller installations- och loop -funktionen för att servera webbplatsen.
login.html- och login.js -filer
Dessa filer styr flödet för webbplatsen för användarinloggning
sheepshead.html- och sheepshead.js -filer
Dessa filer styr flödet av webbplatsens fårskallspel.
Kortbilder
innehåller bilden av varje kort inklusive kortets baksida.
Här är en kort förklaring ladda programvara på esp8266. Det finns flera exempel på webben som kan förklara det mer detaljerat. Så här laddade jag ner programvaran och data med hjälp av Arduino IDE -programvaran.
- Installera Arduino -programvaran och esp8266 -kortfilerna, se https://github.com/esp8266/Arduino för mer information.
- Om du använder en Wemos D1 mini, ställ in Flash -storleken på 4M (1M SPIFFS). Om du använder en generisk esp8266 esp-07 eller esp-12, ställ in blixtstorleken till 1M (512 SPIFFS).
- Du kan behöva installera några ytterligare bibliotek i Arduino -programvaran.
- För att installera SPIFF-data, följ den här länken
- packa upp Sheepshead -programvaran och placera den på din dator.
- Starta Arduino IDE -programvaran och öppna Sheepshead -projektet
- Installera Sheepshead -koden på esp8266 -enheten genom att klicka på uppladdningsknappen. Om du inte använder Wemos D1 Mini kan du behöva sätta enheten i blixtläge genom att klicka på återställningsknappen (SW1) och hålla den intryckt medan du trycker på (SW2) -knappen, släpp sedan (SW1) -knappen och ladda upp koden.
- Installera data på esp8266 -enheten genom att gå till verktyg på menyn och klicka på "ESP8266 Sketch Data Upload". Du måste följa samma steg som ovan för att sätta enheten i blixtläge.
- När programvaran och data har laddats är du redo att spela spelet.
Steg 3: Spela spelet
För att ansluta behöver du en WiFi -enhet som kan ansluta till "Sheepshead" -nätverket och sedan gå till https://191.168.1.1 webbplats.
- Spelare går med genom att ange deras namn och klicka på Gå med. Spelet förutsätter att du kommer att ha 5 spelare, om inte måste en spelare välja antal spelare innan den sista spelaren går med i spelet.
- När den sista spelaren ansluter sig delas korten ut och spelet startar när spelaren klickar på Start -knappen.
- Spelet låter inte en spelare spela ett ogiltigt kort eller spela i tur och ordning.
- När du klickar på ett kort kommer det att öka i storlek för att bli mer synligt. Om du klickar på det en gång till kommer kortet att spelas upp.
- Spelarnamnet markeras med vita bokstäver.
- Spelaren som ska spela nästa kommer att ha en röd ruta som omger sitt namn och kort.
- Spelet börjar med att låta en spelare välja blind eller passera. När en spelare väljer blinden kan de dra och släppa korten från blinden till/från handen. När väljaren har korten de vill ha måste de välja en kallad färg från rullgardinsmenyn.
- Spelet bekräftar att de har ett passande kort för den kallade kostymen.
- Spelet börjar när den första spelaren spelar det första kortet, varje spelare spelar ett kort och vinnaren för handen visas. Poängen beräknas och visas för varje spelare/lag.
- Vinnaren av handen spelar det första kortet och varje spelare spelar ett kort.
- Spelet fortsätter tills alla kort har spelats
- En vinnare bestäms.
- Nästa person blir dealern och ett nytt spel börjar.
Steg 4: Slutsats
Detta är min första instruerbara och jag välkomnar din feedback. Som sagt är detta ett bevis på konceptet att ett kortspel kan göras på en esp8266 -enhet. Den har några problem men är spelbar. Jag ser fram emot dina kommentarer och förslag.
Rekommenderad:
ESP8266 - Trädbevattning med timer och fjärrkontroll via Internet / ESP8266: 7 steg (med bilder)
ESP8266 - Trädbevattning med timer och fjärrkontroll Via Internet / ESP8266: ESP8266 - Bevattning fjärrstyrd och med tidtagning för grönsaksodlingar, blomsterodlingar och gräsmattor. Den använder kretsen ESP-8266 och en hydraulisk / elektrisk ventil för matning av bevattningsmedel. Fördelar: Låg kostnad (~ 30,00 US $) snabbåtkomst Kommandon över
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)
Få tid från Internet med ESP8266 - NTP -klockprojekt med ESP8266 Nodemcu: 5 steg
Få tid från internet med ESP8266 | NTP Clock Project With ESP8266 Nodemcu: I den här självstudien kommer vi att se hur du får tid med ESP8266/nodemcu med Arduino IDE. Att få tid är särskilt användbart vid dataloggning för att tidsstämpla dina avläsningar. Om ditt ESP8266 -projekt har tillgång till Internet kan du få tid med nätverk T
Nybörjarguide till ESP8266 och twittring med ESP8266: 17 steg (med bilder)
Nybörjarguide till ESP8266 och twittring med hjälp av ESP8266: Jag lärde mig om Arduino för 2 år sedan. Så jag började leka med enkla saker som lysdioder, knappar, motorer etc. Då tänkte jag att det inte skulle vara häftigt att ansluta till saker som att visa dagens väder, aktiekurser, tågtider på en LCD -display. Jag
ESP8266 Robotbil programmerad med ESP8266 Basic: 18 steg (med bilder)
ESP8266 Robotbil programmerad med ESP8266 Basic: Jag är en naturvetenskapslärare på mellanstadiet och även Robotic Club Advisor. Jag har letat efter mer kostnadseffektiva sätt att få robotar i händerna på mina elever. Med de låga priserna på ESP8266 -brädor har jag kunnat skapa en autonom