Cuprins:

Joc de cărți Sheepshead cu Esp8266: 4 pași
Joc de cărți Sheepshead cu Esp8266: 4 pași

Video: Joc de cărți Sheepshead cu Esp8266: 4 pași

Video: Joc de cărți Sheepshead cu Esp8266: 4 pași
Video: How to SHUFFLE Cards Like a Magician! TOP 5! 2024, Iulie
Anonim
Joc de cărți Sheepshead cu Esp8266
Joc de cărți Sheepshead cu Esp8266

Sheepshead este un joc de cărți pe care mătușele și unchii mei l-ar juca în timpul întâlnirilor de familie. Este un truc de a lua joc de cărți originar din Europa. Există mai multe versiuni, deci versiunea mea ar putea fi puțin diferită de ceea ce joci. În versiunea pe care am implementat-o poți juca cu 3, 4 sau 5 jucători, 5 fiind numărul ideal de jucători. Jocul folosește 32 de cărți dintr-un pachet standard de 52 de cărți.

Regulile de bază pot fi găsite aici:

Un scurt rezumat al regulilor pentru un joc de 5 jucători; fiecare jucător primește 6 cărți și două cărți sunt distribuite orbilor. Jucătorul dealerilor rămași primește șansa de a alege blind-ul, apoi următorul jucător etc. până când cineva alege blind-ul sau până când toți jucătorii au avut o schimbare de ales. Dacă nimeni nu alege jocul începe din nou și cărțile noi sunt distribuite. Persoana care alege blind-ul este numită picker. Alegătorul alege un partener chemând un costum, fie Hearts, Clubs sau Spades, dar trebuie să aibă o carte cu același costum în mână. Jucătorul care are Asul costumului numit este partenerul. Jucătorii trebuie să urmeze exemplul primei cărți jucate, Trump este un costum. Partenerul trebuie să joace Asul atunci când costumul chemat este plumb pentru prima dată. Alegătorul și partenerul trebuie să obțină 61 de puncte pentru a câștiga jocul. Jucătorii care nu sunt selecționerul sau partenerul formează o echipă și punctele lor sunt unite pentru a-i învinge. Consultați link-ul de reguli de mai sus pentru scor.

Pentru jocul de 3 și 4 jucători nu există partener și respectiv 10 sau 8 cărți sunt împărțite.

Nu am implementat un joc de leaster. Atunci când niciun jucător nu alege jocul poate continua cu jucătorul leaster. Cel mai mic câștigător este jucătorul care ia cel puțin un truc și înregistrează cel mai mic număr de puncte.

Dezvoltarea jocului:

Inspirația mea pentru acest proiect a venit din dorința de a crea o aplicație Sheepshead și, de asemenea, să învăț jquery. De asemenea, am folosit dragula.js pentru a ajuta la tragerea și plasarea cărților. Esp8266 este pus în modul AP. Pentru a vă conecta, aveți nevoie de un dispozitiv WiFi care se poate conecta la rețeaua „Sheepshead” și accesați site-ul web

Acesta este primul meu instructable, așa că aș aprecia orice feedback. Voi încerca să vă răspund la întrebări când pot.

Pasul 1: Construirea hardware-ului

Construirea hardware-ului
Construirea hardware-ului
Construirea hardware-ului
Construirea hardware-ului
Construirea hardware-ului
Construirea hardware-ului

Cerințe hardware

Acest lucru poate fi realizat cu un Wemos D1 Mini sau cu un esp8266 - esp-07 sau esp-12.

Versiunea Esp8266:

  • esp8266 (esp-07 sau esp-12)
  • placa de montaj alba pentru conectorii esp8266 +
  • Conector mamă cu 6 pini (opțional)
  • Regulator de tensiune LM317
  • (2) Rezistor de 10K Ohm
  • Rezistor 390 Ohm
  • Rezistor de 220 Ohm
  • Rezistor de 20 Ohm
  • (2) butoane de moment
  • Condensator ceramic 100n
  • Condensator electrolitic 10uF
  • Condensator electrolitic 220uF
  • 1N4002 diodă (opțional)
  • conector butoi (am folosit un suport lateral și am lipit la un conector tată cu 3 pini)
  • Caseta proiectului
  • Alimentare electrică

Am inclus fișierele ExpressSCH și ExpressPCB pe care le-am folosit pentru a construi circuitul. După cum puteți vedea din imagine, nu am adăugat butoanele și nici nu am folosit conectorul J2 (care poate fi utilizat cu modulul FTDI232RL pentru programarea esp8266). Dacă doriți să utilizați acest lucru ca programator esp8266, veți avea nevoie de butoane și de conectorul J2. Pentru a bloca software-ul sau datele, va trebui să resetați dispozitivul (SW1), mențineți-l apăsat în timp ce apăsați butonul (SW2), apoi eliberați butonul (SW1), apoi încărcați codul.

Înainte de a plasa orice componente, verificați circuitul testând fiecare conexiune. Verificați dacă regulatorul de tensiune produce 3,3 volți și verificați dublu toate conexiunile. Dacă nu sunteți sigur, vă recomand să utilizați un Wemos D1 mini, deoarece nu este necesară lipirea.

Pasul 2: Încărcarea software-ului

Încărcarea software-ului
Încărcarea software-ului

Software

Am inclus software-ul pentru acest proiect. Voi da o scurtă explicație a fiecărei clase și pentru ce se folosește, dar nu voi intra în detalii. Acest joc este o dovadă a conceptului că un joc de cărți poate fi realizat pe un esp8266. Jocul are câteva probleme pe care nu le-am rezolvat încă. De exemplu, atunci când un utilizator se conectează și pierde conexiunea, acesta nu este eliberat din joc și nu se poate reconecta la joc. Singura modalitate de a rezolva acest lucru este să resetați jocul și să o luați de la capăt. Jocul este cam lent și uneori nu reîmprospătează cărțile. Utilizatorul poate reîmprospăta browserul care ar trebui să afișeze corect cardurile. Dacă utilizatorul salvează linkul pe ecranul de pornire (pentru iPhone), butonul de reîmprospătare nu este disponibil, ceea ce face imposibilă reîmprospătarea. Uneori este greu să trageți și să plasați cărțile către / din orb pe dispozitivele mici.

Clasa Card.h și Card.ino Card

Această clasă deține costumul de carte, rangul, punctul și cărțile care sunt atu.

Clasa Deck.h și Deck.ino Deck

Această clasă deține informațiile despre pachetul de cărți. Are o metodă pentru a amesteca pachetul și pentru a obține cărți de pe pachet. Folosește o sămânță aleatorie pentru a amesteca pachetul

Hand.h și Hand.ino

Această clasă implementează interfața IGame și deține informații despre fiecare mână a jucătorilor. Cine sunt Picker, Parteneri și Dealer. Se ține cine este rândul său, care este costumul numit, care este costumul principal, ce număr de mână, numărul de jucători, cine este câștigătorul etc.

Player.h și Player.ino Clasa player

Această clasă deține informații despre jucător, cum ar fi numele jucătorului, punctele echipei, dacă jucătorul a ales sau a trecut și afișează mesajul către jucător.

Clasa de interfață IGame.h și IGame.ino IGame

Această clasă deține clasele Deck, Card și Player pentru a controla fluxul jocului.

Sheepshead.ino

Păstrează funcția de configurare și buclă pentru a difuza site-ul web.

fișiere login.html și login.js

Aceste fișiere controlează fluxul pentru pagina de conectare a utilizatorului

fișierele sheepshead.html și sheepshead.js

Aceste fișiere controlează fluxul jocului site-ului de păstură.

Imagini de card

deține imaginea fiecărui card, inclusiv partea din spate a acestuia.

Iată o scurtă explicație pentru încărcarea software-ului pe esp8266. Există mai multe exemple pe web care o pot explica mai detaliat. Așa am încărcat software-ul și datele folosind software-ul Arduino IDE.

  • Instalați software-ul Arduino și fișierele plăcilor esp8266, consultați https://github.com/esp8266/Arduino pentru mai multe informații.
  • Dacă utilizați un Wemos D1 mini, setați dimensiunea blițului la 4M (1M SPIFFS). Dacă utilizați un generic esp8266 esp-07 sau esp-12, setați dimensiunea blițului la 1M (512 SPIFFS).
  • Poate fi necesar să instalați câteva biblioteci suplimentare în software-ul Arduino.
  • Pentru a instala datele SPIFF, urmați acest link
  • dezarhivați software-ul Sheepshead și plasați-l pe computer.
  • Porniți software-ul Arduino IDE și deschideți proiectul Sheepshead
  • Instalați codul Sheepshead pe dispozitivul esp8266 făcând clic pe butonul de încărcare. Dacă nu utilizați Wemos D1 Mini, poate fi necesar să puneți dispozitivul în modul bliț făcând clic pe butonul de resetare (SW1) mențineți-l apăsat în timp ce apăsați butonul (SW2), apoi eliberați butonul (SW1), apoi încărcați codul.
  • Instalați datele pe dispozitivul esp8266 accesând instrumentele din meniu și făcând clic pe „ESP8266 Sketch Data Upload”. Va trebui să urmați aceiași pași ca mai sus pentru a pune dispozitivul în modul bliț.
  • Odată ce software-ul și datele sunt încărcate, sunteți gata să jucați jocul.

Pasul 3: Joacă jocul

Jucand jocul
Jucand jocul
Jucand jocul
Jucand jocul
Jucand jocul
Jucand jocul

Pentru a vă conecta, aveți nevoie de un dispozitiv WiFi care se poate conecta la rețeaua „Sheepshead”, apoi accesați site-ul web

  • Jucătorii se alătură introducându-și numele și făcând clic pe Înscrie-te. Jocul presupune că veți avea 5 jucători, dacă nu un jucător trebuie să selecteze numărul de jucători înainte ca ultimul jucător să intre în joc.
  • Odată ce ultimul jucător se alătură, cărțile sunt distribuite și jocul începe atunci când jucătorul dă clic pe butonul Start.
  • Jocul nu va permite unui jucător să joace o carte nevalidă sau să joace din rândul său.
  • Când se face clic pe un card, acesta va crește în dimensiune pentru a fi mai vizibil. Dacă ați făcut clic a doua oară, cartea va fi jucată.
  • Numele jucătorilor este evidențiat cu litere albe.
  • Jucătorul care urmează să joace va avea o casetă roșie în jurul numelui și al cărții sale.
  • Jocul începe prin a permite unui jucător să aleagă orbii sau să treacă. Atunci când un jucător alege blind-ul, acesta poate trage și plasa cărțile din blind către / de la mâna de acolo. Odată ce jucătorul are cărțile pe care le dorește, trebuie să aleagă un costum numit din meniul derulant.
  • Jocul va valida faptul că au o carte adecvată pentru costumul chemat.
  • Jocul începe atunci când primul jucător joacă prima carte, fiecare jucător joacă o carte și este afișat câștigătorul mâinii. Punctele sunt calculate și afișate pentru fiecare jucător / echipă.
  • Câștigătorul mâinii joacă prima carte și fiecare jucător joacă o carte.
  • Jocul continuă până când toate cărțile sunt jucate
  • Un câștigător este determinat.
  • Următoarea persoană devine dealer și începe un nou joc.

Pasul 4: Concluzie

Acesta este primul meu instructabil și vă mulțumesc pentru feedback. După cum am spus, aceasta este o dovadă a conceptului că un joc de cărți poate fi realizat pe un dispozitiv esp8266. Are câteva probleme, dar este redat. Aștept cu nerăbdare comentariile și sugestiile dumneavoastră.

Recomandat: