Sommario:
- Passaggio 1: costruzione dell'hardware
- Passaggio 2: caricamento del software
- Passaggio 3: giocare
- Passaggio 4: conclusione
Video: Gioco di carte Sheepshead con Esp8266: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
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
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
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
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:
Scanner di carte per una macchina per carte collezionabili: 13 passaggi (con immagini)
Scanner di carte per una macchina per carte collezionabili: Scanner per carte per una macchina per carte collezionabiliIl registro delle modifiche si trova nell'ultimo passaggio. Lo sfondoHo spiegato la motivazione principale del mio progetto nell'introduzione di Card Feeder. Ma in breve, io e i miei figli abbiamo accumulato una grande quantità di Trading Cards b
Alimentatore di carte per una macchina per carte collezionabili: 10 passaggi (con immagini)
Alimentatore di carte per una macchina per carte collezionabili: Alimentatore per carte per una macchina per carte collezionabiliIl backgroundQuando ero giovane, collezionavo tonnellate di carte collezionabili, ma da alcuni anni la passione per il collezionismo è diminuita. Nel frattempo ho dei bambini e pian piano anche loro iniziano a farsi
Controller di gioco fai-da-te basato su Arduino - Controller di gioco Arduino PS2 - Giocare a Tekken con il gamepad Arduino fai da te: 7 passaggi
Controller di gioco fai-da-te basato su Arduino | Controller di gioco Arduino PS2 | Giocare a Tekken con il gamepad Arduino fai da te: Ciao ragazzi, giocare è sempre divertente, ma giocare con il tuo controller di gioco personalizzato fai-da-te è più divertente. Quindi creeremo un controller di gioco usando arduino pro micro in queste istruzioni
Controller di gioco Arduino con luci che rispondono al tuo gioco Unity:: 24 passaggi
Controller di gioco Arduino con luci che rispondono al tuo gioco Unity:: Prima di tutto ho scritto questa cosa a parole. Questa è la prima volta che uso istruibile, quindi ogni volta che dico: scrivi il codice in questo modo sappi che mi riferisco all'immagine nella parte superiore di quel passaggio. In questo progetto uso 2 arduino per eseguire 2 bit separati
Progetta e costruisci una custodia per lettore MP3 con carte da gioco: 9 passaggi
Progetta e costruisci una custodia per lettore MP3 con carte da gioco: poiché il mio lettore MP3 non si è rivelato popolare, poche aziende hanno realizzato custodie per esso e non godendo delle mie scelte, ho deciso di crearne una mia. Dopo alcune cattive idee, alcune buone idee, molti casi falliti e a metà, finalmente ne ho creato uno che