Innholdsfortegnelse:

Sheepshead kortspill med Esp8266: 4 trinn
Sheepshead kortspill med Esp8266: 4 trinn

Video: Sheepshead kortspill med Esp8266: 4 trinn

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

Sheepshead er et kortspill som mine tanter og onkler ville spilt under familiesammenkomster. Det er et trick -taking kortspill som har sin opprinnelse i Europa. Det er flere versjoner, så min versjon kan være litt annerledes enn det du spiller. I versjonen jeg implementerte kan du spille med 3, 4 eller 5 spillere, 5 er det ideelle antallet spillere. Spillet bruker 32 kort fra en standard kortstokk på 52 kort.

De grunnleggende reglene finner du her:

En kort oppsummering av reglene for et spill med fem spillere; hver spiller får 6 kort og to kort deles ut til blinde. Spilleren til dealerne igjen får den første sjansen til å velge den blinde, deretter den neste spilleren osv. Til noen plukker den blinde eller til alle spillerne hadde en endring å velge. Hvis ingen velger, starter spillet på nytt og nye kort deles ut. Personen som plukker den blinde kalles plukkeren. Plukkeren velger en partner ved å kalle en drakt, enten Hearts, Clubs eller Spades, men må ha et kort av samme dress i hånden. Spilleren som har esset til den kalte drakten er partneren. Spillere må følge etter det første kortet som spilles, trumf er en drakt. Partneren må spille esset når den kalte drakten blir ledet for første gang. Plukkeren og partneren må få 61 poeng for å vinne spillet. Spillerne som ikke er plukkeren eller partneren danner et lag, og poengene deres slås sammen for å slå dem. Se reglen lenken ovenfor for scoring.

For 3 og 4 spiller er det ingen partner og 10 eller 8 kort deles ut.

Jeg implementerte ikke et spill med leaster. Når ingen spiller velger, kan spillet fortsette med spillerhopp. Leaster -vinneren er spilleren som tar minst ett triks og får færrest antall poeng.

Spillutvikling:

Min inspirasjon for dette prosjektet kom fra å ville lage en Sheepshead -applikasjon og også lære jquery. Jeg brukte også dragula.js for å hjelpe med å dra og slippe kortene. Esp8266 settes i AP -modus. For å koble til trenger du en WiFi -enhet som kan koble til "Sheepshead" -nettverket og gå til https://191.168.1.1 nettsted.

Dette er min første instruksjon, så jeg vil sette pris på tilbakemeldinger. Jeg skal prøve å svare på spørsmålene dine når jeg kan.

Trinn 1: Bygg maskinvaren

Bygging av maskinvare
Bygging av maskinvare
Bygging av maskinvare
Bygging av maskinvare
Bygging av maskinvare
Bygging av maskinvare

Krav til maskinvare

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

Esp8266 bygge:

  • esp8266 (esp-07 eller esp-12)
  • hvitt monteringsbrett for esp8266 + kontakter
  • 6-pinners hunnkontakt (valgfritt)
  • LM317 spenningsregulator
  • (2) 10K Ohm motstand
  • 390 Ohm motstand
  • 220 Ohm motstand
  • 20 Ohm motstand
  • (2) øyeblikkelige trykknapper
  • 100n keramisk kondensator
  • 10uF elektrolytisk kondensator
  • 220uF elektrolytisk kondensator
  • 1N4002 diode (valgfritt)
  • fatkontakt (jeg brukte et sidefeste og loddet til en 3 -pinners hankontakt)
  • Prosjektboks
  • Strømforsyning

Jeg inkluderte ExpressSCH- og ExpressPCB -filene jeg brukte til å bygge kretsen. Som du kan se på bildet, har jeg ikke lagt til knappene eller brukt J2 -kontakten (som kan brukes med FTDI232RL -modulen for programmering av esp8266). Hvis du vil bruke dette som en esp8266 programmerer trenger du knappene og J2 -kontakten. For å blinke programvare eller data må du tilbakestille enheten (SW1) og holde den inne mens du trykker på (SW2) -knappen, deretter slippe (SW1) -knappen og deretter laste opp koden.

Før du plasserer noen komponenter, må du kontrollere kretsen ved å teste hver tilkobling. Kontroller at spenningsregulatoren sender ut 3,3 volt og dobbeltsjekk alle tilkoblinger. Hvis du ikke er sikker, anbefaler jeg at du bruker en Wemos D1 mini da det ikke er behov for lodding.

Trinn 2: Laster inn programvaren

Laster inn programvaren
Laster inn programvaren

Programvare

Jeg inkluderte programvaren for dette prosjektet. Jeg vil gi en kort forklaring av hver klasse og hva den brukes til, men jeg skal ikke gå inn på detaljer. Dette spillet er et bevis på at et kortspill kan lages på en esp8266. Spillet har noen problemer som jeg ikke har løst ennå. For eksempel når en bruker logger på og mister tilkoblingen, frigjøres den ikke fra spillet og kan ikke koble til spillet på nytt. Den eneste måten å løse dette på er å tilbakestille spillet og starte på nytt. Spillet er litt tregt og oppdaterer noen ganger ikke kortene. Brukeren kan oppdatere nettleseren som skal vise kortene riktig. Hvis brukeren lagrer koblingen på startskjermen (for iPhone), er ikke oppdateringsknappen tilgjengelig, noe som gjør det umulig å oppdatere. Noen ganger er det vanskelig å dra og slippe kort til/fra blinde på små enheter.

Klasse Card.h og Card.ino Kort

Denne klassen har kortdrakt, rang, poeng og hvilke kort som er trumf.

Deck.h og Deck.ino Deck klasse

Denne klassen inneholdt informasjon om kortstokken. Den har metode for å blande kortstokken og å få kort fra kortstokken. Den bruker et tilfeldig frø til å stokke dekket

Hand.h og Hand.ino

Denne klassen implementerer IGame -grensesnittet og inneholder informasjon om hver spillers hånd. Hvem plukkeren, partnerne og forhandleren er. Det holder hvem som er sin tur, hva kalles drakten, hva er hoveddrakten, hvilket håndnummer, antall spillere, hvem vinneren er, etc.

Player.h og Player.ino Player klasse

Denne klassen inneholder spillerinformasjon, for eksempel spillernavn, lagpoeng, hvis spilleren plukket eller passerte og viser melding til spilleren.

IGame.h og IGame.ino IGame grensesnittklasse

Denne klassen har Deck, Card og Player klasser for å kontrollere spillflyten.

Sheepshead.ino

Holder oppsett og loop -funksjonen for å betjene nettstedet.

login.html og login.js filer

Disse filene styrer flyten for brukerinnloggingsnettstedet

sheepshead.html og sheepshead.js -filer

Disse filene styrer flyten av nettstedet sheepshead game.

Kortbilder

inneholder bildet av hvert kort, inkludert baksiden av kortet.

Her er en kort forklaring på å laste ned programvare på esp8266. Det er flere eksempler på nettet som kan forklare det mer detaljert. Slik lastet jeg ned programvaren og dataene ved hjelp av Arduino IDE -programvaren.

  • Installer Arduino -programvaren og esp8266 boards -filer, se https://github.com/esp8266/Arduino for mer informasjon.
  • Hvis du bruker en Wemos D1 mini, angir du Flash -størrelsen til 4M (1M SPIFFS). Hvis du bruker en generisk esp8266 esp-07 eller esp-12, angir du Flash-størrelsen til 1M (512 SPIFFS).
  • Du må kanskje installere noen ekstra biblioteker i Arduino -programvaren.
  • For å installere SPIFF-dataene, følg denne lenken
  • pakk ut Sheepshead -programvaren og legg den på datamaskinen.
  • Start Arduino IDE -programvaren og åpne Sheepshead -prosjektet
  • Installer Sheepshead -koden på esp8266 -enheten ved å klikke på opplastingsknappen. Hvis du ikke bruker Wemos D1 Mini kan det hende du må sette enheten i blitsmodus ved å klikke på tilbakestillingsknappen (SW1) og holde den inne mens du trykker på (SW2) -knappen, deretter slippe (SW1) -knappen og deretter laste opp koden.
  • Installer dataene på esp8266 -enheten ved å gå til verktøyene på menyen og klikke "ESP8266 Sketch Data Upload". Du må følge de samme trinnene som ovenfor for å sette enheten i blitsmodus.
  • Når programvaren og dataene er lastet inn, er du klar til å spille spillet.

Trinn 3: Spill spillet

Spiller spillet
Spiller spillet
Spiller spillet
Spiller spillet
Spiller spillet
Spiller spillet

For å koble til trenger du en WiFi -enhet som kan koble til "Sheepshead" -nettverket, og deretter gå til https://191.168.1.1 nettsted.

  • Spillere blir med ved å skrive inn navnet sitt og klikke på Bli med. Spillet forutsetter at du vil ha 5 spillere, hvis ikke må en spiller velge antall spillere før den siste spilleren blir med i spillet.
  • Når den siste spilleren blir med, blir kortene delt ut og spillet starter når spilleren klikker på Start -knappen.
  • Spillet lar ikke en spiller spille et ugyldig kort eller spille etter tur.
  • Når du klikker på et kort, vil det øke i størrelse for å bli mer synlig. Hvis det klikkes en gang til, vil kortet bli spilt.
  • Spillernes navn er markert med hvite bokstaver.
  • Spilleren som skal spille neste gang vil ha en rød boks rundt navnet og kortet.
  • Spillet starter med å la en spiller velge blinde eller passere. Når en spiller velger blinden, kan de dra og slippe kortene fra blinden til/fra hånden. Når plukkeren har kortene de vil ha, må de velge en kalt farge fra rullegardinlisten.
  • Spillet bekrefter at de har et passende kort for den kalte drakten.
  • Spill starter når den første spilleren spiller det første kortet, hver spiller spiller ett kort og vinneren for hånden vises. Poengene beregnes og vises for hver spiller/lag.
  • Vinneren av hånden spiller det første kortet, og hver spiller spiller ett kort.
  • Spillet fortsetter til alle kortene er spilt
  • En vinner blir bestemt.
  • Neste person blir dealer og et nytt spill begynner.

Trinn 4: Konklusjon

Dette er min første instruks, og jeg tar gjerne imot tilbakemeldinger. Som jeg sa, er dette et bevis på at et kortspill kan lages på en esp8266 -enhet. Den har noen få problemer, men er spillbar. Jeg ser frem til kommentarer og forslag.

Anbefalt: