Turinys:

„Sheepshead“kortų žaidimas su Esp8266: 4 žingsniai
„Sheepshead“kortų žaidimas su Esp8266: 4 žingsniai

Video: „Sheepshead“kortų žaidimas su Esp8266: 4 žingsniai

Video: „Sheepshead“kortų žaidimas su Esp8266: 4 žingsniai
Video: This entire card game is a quantum physics joke 2024, Liepa
Anonim
„Sheepshead“kortų žaidimas su Esp8266
„Sheepshead“kortų žaidimas su Esp8266

„Sheepshead“yra kortų žaidimas, kurį mano tetos ir dėdės žaisdavo per šeimos susitikimus. Tai gudrybė, kai kortų žaidimas yra kilęs iš Europos. Yra keletas versijų, todėl mano versija gali šiek tiek skirtis nuo tos, kurią grojate. Mano įdiegtoje versijoje galite žaisti su 3, 4 arba 5 žaidėjais, 5 yra idealus žaidėjų skaičius. Žaidime naudojamos 32 kortelės iš standartinės 52 kortų kaladės.

Pagrindines taisykles rasite čia:

Trumpa 5 žaidėjų žaidimo taisyklių santrauka; kiekvienam žaidėjui išdalijamos 6 kortelės, o dviem kortos - akliesiems. Likęs prekiautojų žaidėjas gauna pirmąją galimybę pasirinkti aklą, tada kitam žaidėjui ir tt, kol kas nors pasirenka aklą arba kol visi žaidėjai turi pasirinkti. Jei niekas nepasirenka, žaidimas prasideda iš naujo ir išdalinamos naujos kortos. Asmuo, kuris renkasi aklą, vadinamas skynėju. Rinkėjas pasirenka partnerį iškviesdamas kostiumą - „Hearts“, „Clubs“ar „Spades“, tačiau rankoje turi turėti to paties kostiumo kortelę. Partneris yra žaidėjas, turintis tatuiruotės tūzą. Žaidėjai turi sekti pirmos kortos pavyzdžiu, o koziris - kostiumas. Partneris turi žaisti tūzą, kai pirmą kartą vedamas iškviestas kostiumas. Rinkėjas ir partneris, norėdami laimėti žaidimą, turi surinkti 61 tašką. Žaidėjai, kurie nėra rinkėjai ar partneriai, sudaro komandą ir jų taškai sujungiami, kad juos įveiktų. Norėdami gauti taškų, žiūrėkite aukščiau pateiktą taisyklių nuorodą.

3 ir 4 žaidėjų žaidime nėra partnerio ir atitinkamai išdalinamos 10 arba 8 kortos.

Aš nesu įgyvendinęs žaidimo su piktžodžiavimu. Kai nė vienas žaidėjas nepasirenka, žaidėjas gali tęsti žaidėją. Prasčiausias nugalėtojas yra žaidėjas, atlikęs bent vieną triuką ir surinkęs mažiausiai taškų.

Žaidimo kūrimas:

Šio projekto įkvėpėjas buvo noras sukurti „Sheepshead“programą ir išmokti jquery. Aš taip pat naudojau „dragula.js“, norėdamas padėti nuvilkti korteles. Esp8266 yra įjungtas į AP režimą. Norėdami prisijungti, jums reikia „WiFi“įrenginio, kuris gali prisijungti prie „Sheepshead“tinklo ir eiti į https://191.168.1.1 svetainę.

Tai yra mano pirmasis nurodymas, todėl būčiau dėkingas už bet kokį atsiliepimą. Kai tik galėsiu, pasistengsiu atsakyti į jūsų klausimus.

1 žingsnis: sukurkite aparatūrą

Aparatūros kūrimas
Aparatūros kūrimas
Aparatūros kūrimas
Aparatūros kūrimas
Aparatūros kūrimas
Aparatūros kūrimas

Techninės įrangos reikalavimai

Tai galima padaryti naudojant „Wemos D1 Mini“arba naudojant esp8266-esp-07 arba esp-12.

Esp8266 statymas:

  • esp8266 (esp-07 arba esp-12)
  • balta tvirtinimo lenta esp8266 + jungtims
  • 6 kontaktų jungtis (neprivaloma)
  • Įtampos reguliatorius LM317
  • (2) 10 K omų rezistorius
  • 390 omų rezistorius
  • 220 omų rezistorius
  • 20 omų rezistorius
  • (2) momentiniai mygtukai
  • 100n keraminis kondensatorius
  • 10uF elektrolitinis kondensatorius
  • 220uF elektrolitinis kondensatorius
  • 1N4002 diodas (neprivaloma)
  • statinės jungtis (aš naudoju šoninį laikiklį ir lituota prie 3 kontaktų kištukinės jungties)
  • Projekto dėžutė
  • Maitinimo šaltinis

Aš įtraukiau „ExpressSCH“ir „ExpressPCB“failus, kuriuos naudoju grandinei sukurti. Kaip matote iš paveikslėlio, nepridėjau mygtukų ir nenaudojau J2 jungties (kurią galima naudoti su FTDI232RL moduliu programuojant esp8266). Jei norite tai naudoti kaip esp8266 programuotoją, jums reikės mygtukų ir J2 jungties. Norėdami atnaujinti programinę įrangą ar duomenis, turėsite iš naujo nustatyti įrenginį (SW1), laikykite jį nuspaudę, kol paspausite (SW2) mygtuką, tada atleiskite (SW1) mygtuką ir įkelkite kodą.

Prieš dėdami bet kokius komponentus, patikrinkite grandinę, išbandydami kiekvieną jungtį. Patikrinkite, ar įtampos reguliatorius išleidžia 3,3 voltų, ir dar kartą patikrinkite visas jungtis. Jei nesate tikri, rekomenduoju naudoti „Wemos D1 mini“, nes nereikia lituoti.

2 žingsnis: Įkelkite programinę įrangą

Įkeliama programinė įranga
Įkeliama programinė įranga

Programinė įranga

Aš įtraukiau šio projekto programinę įrangą. Aš trumpai paaiškinsiu kiekvieną klasę ir kam ji naudojama, tačiau nesileisiu į detales. Šis žaidimas yra koncepcijos įrodymas, kad kortų žaidimą galima sukurti naudojant esp8266. Žaidimas turi keletą problemų, kurių aš dar neišsprendžiau. Pavyzdžiui, kai vartotojas prisijungia ir praranda ryšį, jis nėra pašalintas iš žaidimo ir negali prisijungti prie žaidimo. Vienintelis būdas tai padaryti yra iš naujo nustatyti žaidimą ir pradėti iš naujo. Žaidimas yra šiek tiek lėtas ir kartais neatnaujina kortelių. Vartotojas gali atnaujinti naršyklę, kuri turėtų teisingai rodyti korteles. Jei vartotojas išsaugo nuorodą savo pagrindiniame ekrane („iPhone“), atnaujinimo mygtukas nepasiekiamas, todėl atnaujinti neįmanoma. Kartais mažuose įrenginiuose sunku vilkti ir mesti korteles į/iš aklųjų.

Card.h ir Card.ino Card klasė

Šioje klasėje yra kortų kostiumas, rangas, taškas ir kurios kortos yra koziris.

„Deck.h“ir „Deck.ino“denio klasė

Šioje klasėje buvo kortelių kaladės informacija. Jis turi metodą maišyti kaladę ir gauti korteles iš denio. Jis naudoja atsitiktinę sėklą, kad sumaišytų denį

Ranka.h ir ranka.ino

Šioje klasėje įdiegta „IGame“sąsaja ir saugoma informacija apie kiekvieno žaidėjo ranką. Kas yra rinkėjas, partneriai ir pardavėjas. Jame nurodoma, kam eilė, kaip vadinamas kostiumas, koks yra pagrindinis kostiumas, koks rankos numeris, žaidėjų skaičius, kas yra nugalėtojas ir kt.

Player.h ir Player.ino Player klasė

Šioje klasėje yra žaidėjo informacija, pvz., Žaidėjo vardas, komandos taškai, jei žaidėjas pasirinko ar perdavė, ir žaidėjui rodomas pranešimas.

„IGame.h“ir „IGame.ino“„IGame“sąsajos klasė

Šioje klasėje yra denio, kortų ir žaidėjų klasės, skirtos kontroliuoti žaidimo eigą.

Avikailis.ino

Laikoma sąrankos ir kilpos funkcija, skirta aptarnauti svetainę.

login.html ir login.js failus

Šie failai kontroliuoja vartotojo prisijungimo svetainės puslapio srautą

sheepshead.html ir sheepshead.js failus

Šie failai kontroliuoja tinklalapio avių galvos žaidimo srautą.

Kortelių vaizdai

turi kiekvienos kortelės atvaizdą, įskaitant kortelės galinę dalį.

Čia yra trumpas paaiškinimas, kaip įkelti programinę įrangą į esp8266. Internete yra keletas pavyzdžių, kurie gali tai išsamiau paaiškinti. Taip įkeliau programinę įrangą ir duomenis naudodami „Arduino IDE“programinę įrangą.

  • Įdiekite „Arduino“programinę įrangą ir esp8266 plokščių failus, daugiau informacijos rasite
  • Jei naudojate „Wemos D1 mini“, nustatykite „Flash“dydį į 4M (1M SPIFFS). Jei naudojate bendrąjį esp8266 esp-07 arba esp-12, nustatykite blykstės dydį 1M (512 SPIFFS).
  • Jums gali tekti įdiegti keletą papildomų bibliotekų į „Arduino“programinę įrangą.
  • Norėdami įdiegti SPIFF duomenis, spustelėkite šią nuorodą
  • išpakuokite „Sheepshead“programinę įrangą ir įdėkite į kompiuterį.
  • Paleiskite „Arduino IDE“programinę įrangą ir atidarykite „Sheepshead“projektą
  • Įdiekite „Sheepshead“kodą į įrenginį esp8266 spustelėdami įkėlimo mygtuką. Jei nenaudojate „Wemos D1 Mini“, gali reikėti įjungti įrenginį blykstės režimu, spustelėjus atstatymo mygtuką (SW1) ir laikant jį nuspaudus, kol paspaudžiamas (SW2) mygtukas, tada atleidžiant (SW1) mygtuką ir įkeliant kodą.
  • Įdiekite duomenis į įrenginį esp8266, eidami į meniu esančius įrankius ir spustelėdami „ESP8266 Sketch Data Upload“. Norėdami įjungti blykstės režimą, turėsite atlikti tuos pačius veiksmus, kaip aprašyta aukščiau.
  • Įkėlę programinę įrangą ir duomenis, esate pasiruošę žaisti žaidimą.

3 žingsnis: Žaidimas

Žaidžia žaidimą
Žaidžia žaidimą
Žaidžia žaidimą
Žaidžia žaidimą
Žaidžia žaidimą
Žaidžia žaidimą

Norėdami prisijungti, jums reikia „WiFi“įrenginio, galinčio prisijungti prie „Sheepshead“tinklo, tada eikite į https://191.168.1.1 svetainę.

  • Žaidėjai prisijungia įvesdami savo vardą ir spustelėdami „Prisijungti“. Žaidime daroma prielaida, kad turėsite 5 žaidėjus, jei ne, žaidėjas turi pasirinkti žaidėjų skaičių, kol paskutinis žaidėjas prisijungs prie žaidimo.
  • Kai paskutinis žaidėjas prisijungs, kortelės bus išdalintos ir žaidimas prasidės, kai žaidėjas spustelės mygtuką Pradėti.
  • Žaidimas neleis žaidėjui žaisti netinkamos kortos ar žaisti iš eilės.
  • Spustelėjus kortelę, jos dydis padidės, kad būtų geriau matomas. Jei spustelėsite antrą kartą, kortelė bus paleista.
  • Žaidėjų vardas paryškintas baltomis raidėmis.
  • Žaidėjas, kuris turi žaisti toliau, turės raudoną dėžutę su savo vardu ir kortele.
  • Žaidimas prasideda leidžiant žaidėjui pasirinkti aklą arba perduoti. Kai žaidėjas pasirenka žaliuzę, jis gali nuvilkti kortas iš žaliuzės į/iš ten. Kai rinkėjas turi norimas korteles, jie turi išsirinkti iškeltą kostiumą iš išskleidžiamojo meniu.
  • Žaidimas patvirtins, kad jie turi tinkamą kortelę iškviestam kostiumui.
  • Žaidimas prasideda, kai pirmasis žaidėjas sužaidžia pirmąją kortą, kiekvienas žaidėjas sužaidžia vieną kortą ir parodomas rankos nugalėtojas. Taškai skaičiuojami ir rodomi kiekvienam žaidėjui/komandai.
  • Rankos nugalėtojas žaidžia pirmą kortą, o kiekvienas žaidėjas - vieną kortą.
  • Žaidimas tęsiamas tol, kol bus sužaistos visos kortos
  • Nustatomas nugalėtojas.
  • Kitas asmuo tampa prekiautoju ir prasideda naujas žaidimas.

4 žingsnis: Išvada

Tai mano pirmasis „Instructable“ir laukiu jūsų atsiliepimų. Kaip jau sakiau, tai yra koncepcijos įrodymas, kad kortų žaidimą galima sukurti naudojant esp8266 įrenginį. Turi keletą problemų, bet galima žaisti. Laukiu jūsų komentarų ir pasiūlymų.

Rekomenduojamas: