Sommario:

Gioco di carte Sheepshead con Esp8266: 4 passaggi
Gioco di carte Sheepshead con Esp8266: 4 passaggi

Video: Gioco di carte Sheepshead con Esp8266: 4 passaggi

Video: Gioco di carte Sheepshead con Esp8266: 4 passaggi
Video: Wisconsin Life | The Rules of Sheepshead 2024, Luglio
Anonim
Gioco di carte Sheepshead con Esp8266
Gioco di carte Sheepshead con Esp8266

Sheepshead è un gioco di carte che facevano le mie zie e i miei zii durante le riunioni di famiglia. È un gioco di carte da gioco nato in Europa. Ci sono diverse versioni, quindi la mia versione potrebbe essere leggermente diversa da quella che giochi. Nella versione che ho implementato puoi giocare con 3, 4 o 5 giocatori, 5 è il numero ideale di giocatori. Il gioco utilizza 32 carte da un mazzo di 52 carte standard.

Le regole di base possono essere trovate qui:

Un breve riassunto delle regole per un gioco a 5 giocatori; ogni giocatore riceve 6 carte e due carte vengono distribuite al buio. Al giocatore alla sinistra del mazziere viene data la prima possibilità di scegliere il buio, poi il giocatore successivo ecc. finché qualcuno non sceglie il buio o finché tutti i giocatori non hanno avuto un cambiamento da scegliere. Se nessuno sceglie, il gioco ricomincia e vengono distribuite nuove carte. La persona che sceglie i ciechi si chiama picker. Il selezionatore sceglie un partner chiamando un seme, Cuori, Fiori o Picche, ma deve avere in mano una carta dello stesso seme. Il giocatore che ha l'asso del seme chiamato è il partner. I giocatori devono seguire il seme della prima carta giocata, briscola è un seme. Il partner deve giocare l'asso quando il seme chiamato è in vantaggio per la prima volta. Il selezionatore e il partner devono ottenere 61 punti per vincere la partita. I giocatori che non sono il selezionatore o il partner formano una squadra e i loro punti vengono uniti per batterli. Vedi link regole sopra per il punteggio.

Per il gioco a 3 e 4 giocatori non c'è un partner e vengono distribuite rispettivamente 10 o 8 carte.

Non ho implementato un gioco di minimi. Quando nessun giocatore sceglie, il gioco può continuare dal giocatore meno. Il vincitore di Leaster è il giocatore che effettua almeno una presa e ottiene il minor numero di punti.

Sviluppo del gioco:

La mia ispirazione per questo progetto è venuta dal voler creare un'applicazione Sheepshead e anche imparare jquery. Ho anche usato dragula.js per aiutare con il trascinamento delle carte. L'esp8266 viene messo in modalità AP. Per connettersi, è necessario un dispositivo WiFi in grado di connettersi alla rete "Sheepshead" e visitare il sito Web

Questo è il mio primo istruibile quindi apprezzerei qualsiasi feedback. Cercherò di rispondere alle tue domande appena posso.

Passaggio 1: costruzione dell'hardware

Costruire l'hardware
Costruire l'hardware
Costruire l'hardware
Costruire l'hardware
Costruire l'hardware
Costruire l'hardware

Requisiti hardware

Questo può essere fatto con un Wemos D1 Mini o con un esp8266 - esp-07 o esp-12.

Esp8266 build:

  • esp8266 (esp-07 o esp-12)
  • scheda di montaggio bianca per esp8266 + connettori
  • Connettore femmina a 6 pin (opzionale)
  • Regolatore di tensione LM317
  • (2) Resistenza da 10K Ohm
  • Resistenza da 390 Ohm
  • Resistenza da 220 Ohm
  • Resistenza da 20 Ohm
  • (2) pulsanti momentanei
  • Condensatore ceramico 100n
  • Condensatore elettrolitico da 10uF
  • Condensatore elettrolitico da 220uF
  • Diodo 1N4002 (opzionale)
  • connettore cilindrico (ho usato un attacco laterale e saldato a un connettore maschio a 3 pin)
  • Scatola del progetto
  • Alimentazione elettrica

Ho incluso i file ExpressSCH ed ExpressPCB che ho usato per costruire il circuito. Come puoi vedere dalla foto non ho aggiunto i pulsanti o utilizzato il connettore J2 (che può essere utilizzato con il modulo FTDI232RL per la programmazione dell'esp8266). Se vuoi usarlo come programmatore esp8266 avrai bisogno dei pulsanti e del connettore J2. Per eseguire il flashing del software o dei dati sarà necessario ripristinare il dispositivo (SW1) tenerlo premuto mentre si tiene premuto il pulsante (SW2), quindi rilasciare il pulsante (SW1) e caricare il codice.

Prima di posizionare qualsiasi componente, verificare il circuito testando ogni connessione. Verificare che il regolatore di tensione emetta 3,3 volt e ricontrollare tutti i collegamenti. Se non sei sicuro, ti consiglio di utilizzare un Wemos D1 mini poiché non è necessaria alcuna saldatura.

Passaggio 2: caricamento del software

Caricamento del software
Caricamento del software

Software

Ho incluso il software per questo progetto. Darò una breve spiegazione di ogni classe ea cosa serve, ma non entrerò nei dettagli. Questo gioco è una prova del concetto che un gioco di carte può essere realizzato su un esp8266. Il gioco ha alcuni problemi che non ho ancora risolto. Ad esempio, quando un utente effettua il login e perde la connessione, non viene rilasciato dal gioco e non può riconnettersi al gioco. L'unico modo per aggirare questo è resettare il gioco e ricominciare da capo. Il gioco è un po' lento ea volte non aggiorna le carte. L'utente può aggiornare il browser che dovrebbe visualizzare correttamente le carte. Se l'utente salva il collegamento sulla schermata iniziale (per iPhone), il pulsante di aggiornamento non è disponibile, rendendo impossibile l'aggiornamento. A volte è difficile trascinare e rilasciare le carte da/verso i bui su piccoli dispositivi.

Classe Card.h e Card.ino Card

Questa classe contiene il seme della carta, il grado, il punto e quali carte sono briscola.

Deck.h e Deck.ino Classe Deck

Questa classe conteneva le informazioni sul mazzo di carte. Ha un metodo per mischiare il mazzo e per ottenere le carte dal mazzo. Usa un seme casuale per mischiare il mazzo

Hand.h e Hand.ino

Questa classe implementa l'interfaccia IGame e contiene informazioni sulla mano di ogni giocatore. Chi sono il raccoglitore, i partner e il rivenditore. Tiene conto di chi è il turno, qual è il seme chiamato, qual è il seme principale, il numero della mano, il numero di giocatori, chi è il vincitore, ecc.

Player.h e Player.ino Classe giocatore

Questa classe contiene le informazioni sul giocatore, come il nome del giocatore, i punti della squadra, se il giocatore ha scelto o passato e mostra un messaggio al giocatore.

IGame.he IGame.ino Classe di interfaccia IGame

Questa classe contiene le classi Deck, Card e Player per controllare il flusso di gioco.

Sheepshead.ino

Contiene la configurazione e la funzione di loop per servire il sito web.

file login.html e login.js

Questi file controllano il flusso per la pagina web di accesso dell'utente

file sheepshead.html e sheepshead.js

Questi file controllano il flusso del gioco Sheepshead del sito web.

Immagini delle carte

contiene l'immagine di ogni carta compreso il retro della carta.

Ecco una breve spiegazione sul caricamento del software su esp8266. Ci sono diversi esempi sul web che possono spiegarlo in modo più dettagliato. Ecco come ho caricato il software e i dati utilizzando il software Arduino IDE.

  • Installa il software Arduino e i file delle schede esp8266, vedi https://github.com/esp8266/Arduino per ulteriori informazioni.
  • Se si utilizza un Wemos D1 mini, impostare la dimensione del flash su 4M (1M SPIFFS). Se si utilizza un esp8266 esp-07 o esp-12 generico, impostare la dimensione del flash su 1 M (512 SPIFFS).
  • Potrebbe essere necessario installare alcune librerie aggiuntive nel software Arduino.
  • Per installare i dati SPIFF segui questo link
  • decomprimi il software Sheepshead e mettilo sul tuo computer.
  • Avvia il software Arduino IDE e apri il progetto Sheepshead
  • Installa il codice Sheepshead sul dispositivo esp8266 facendo clic sul pulsante di caricamento. Se non si utilizza Wemos D1 Mini potrebbe essere necessario mettere il dispositivo in modalità flash facendo clic sul pulsante di ripristino (SW1), tenerlo premuto mentre si preme il pulsante (SW2), quindi rilasciare il pulsante (SW1) e caricare il codice.
  • Installa i dati sul dispositivo esp8266 andando su strumenti nel menu e facendo clic su "ESP8266 Sketch Data Upload". Dovrai seguire gli stessi passaggi di cui sopra per mettere il dispositivo in modalità flash.
  • Una volta che il software e i dati sono stati caricati, sei pronto per giocare.

Passaggio 3: giocare

Giocare
Giocare
Giocare
Giocare
Giocare
Giocare

Per connettersi è necessario un dispositivo WiFi in grado di connettersi alla rete "Sheepshead", quindi visitare il sito Web

  • I giocatori si uniscono inserendo il loro nome e facendo clic su Partecipa. Il gioco presuppone che tu abbia 5 giocatori, in caso contrario un giocatore deve selezionare il numero di giocatori prima che l'ultimo giocatore si unisca al gioco.
  • Una volta che l'ultimo giocatore si unisce, le carte vengono distribuite e il gioco inizia quando il giocatore fa clic sul pulsante Start.
  • Il gioco non consentirà a un giocatore di giocare una carta non valida o di giocare fuori turno.
  • Quando si fa clic su una carta, questa aumenterà di dimensioni per essere più visibile. Se cliccato una seconda volta la carta verrà giocata.
  • Il nome del giocatore è evidenziato con lettere bianche.
  • Il giocatore che giocherà dopo avrà un riquadro rosso che circonda il suo nome e la sua carta.
  • Il gioco inizia permettendo a un giocatore di scegliere il buio o passare. Quando un giocatore sceglie il buio, può trascinare e rilasciare le carte dal buio alla/dalla mano. Una volta che il selezionatore ha le carte che desidera, deve scegliere un seme chiamato dal menu a discesa.
  • Il gioco convaliderà che hanno una carta appropriata per il seme chiamato.
  • Il gioco inizia quando il primo giocatore gioca la prima carta, ogni giocatore gioca una carta e viene visualizzato il vincitore della mano. I punti vengono calcolati e visualizzati per ogni giocatore/squadra.
  • Il vincitore della mano gioca la prima carta e ogni giocatore gioca una carta.
  • Il gioco continua finché non vengono giocate tutte le carte
  • Viene determinato un vincitore.
  • La persona successiva diventa il mazziere e inizia un nuovo gioco.

Passaggio 4: conclusione

Questo è il mio primo Instructable e accolgo con favore il tuo feedback. Come ho detto, questa è una prova del concetto che un gioco di carte può essere realizzato su un dispositivo esp8266. Ha qualche problema ma è giocabile. Aspetto i vostri commenti e suggerimenti.

Consigliato: