Cuprins:
Video: Joc de cuirasat Arduino: 3 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Îmi amintesc că am jucat în copilărie o versiune de hârtie și creion a Jocului de cuir. De fapt, a existat încă de la primul război mondial. Am avut și o variantă „electronică” la începutul anilor 1960 numită „Sonar Sub Hunt” care avea lumini și sunete și mine ascunse. Conform standardelor de jocuri video de astăzi, Battleship este destul de plictisitor, dar m-am gândit că aș face unul oricum doar pentru a vedea ce au gândit nepoții despre asta. La urma urmei, uneori retro poate fi cool.
Există fragmente din acest proiect care ar fi utile în altă parte, chiar dacă nu sunteți interesat să creați jocul Battleship. Are o interfață simplă 1602 LCD pe 4 biți, care include o rutină pentru setarea unei anumite locații de caractere. Există, de asemenea, o interfață pentru decodarea unei matrice de comutare 4x4. Aceste două interfețe sunt disponibile ca fișiere separate, astfel încât acestea să poată fi transportate cu ușurință. Jocul are, de asemenea, diverse rutine de efecte sonore și un circuit amplificator audio cu un singur tranzistor.
Pasul 1: Hardware
Schema prezentată aici este pentru un singur jucător, deci ar trebui făcute două unități. Unitățile comunică utilizând o interfață cu 3 fire care include liniile UART TX și RX și un fir de împământare. Am ales să folosesc o mufă de căști stereo standard de 1/8 inch și un cablu standard cu prize de sex masculin la ambele capete. RX-ul dintr-o cutie merge la TX-ul celeilalte cutii și viceversa. Puteți face acest lucru schimbând firele lipite la mufa pentru căști din interiorul cutiei sau schimbându-le pe placa de circuit atunci când o construiți.
Jocul clasic a fost prezentat ca o matrice, dar am decis să fac o implementare simplă folosind un ecran 1602 LCD pentru afișaj. Prima linie arată locațiile navei jucătorului și loviturile adversarului. A doua linie arată șuturile jucătorului și orice lovituri pe navele adversarului. Aceasta oferă 16 locații posibile pentru nave. Numărul de nave este setat în software și am ales în mod arbitrar 5.
Cele 16 locații ale navei se potrivesc perfect cerințelor de comutare, deoarece permite o matrice 4x4. Există plăcuțe de comutare cu matrice 4x4 disponibile, dar am ales să folosesc comutatoare individuale într-o singură linie pentru a se potrivi cu afișajul liniar. Cu toate acestea, am conectat comutatoarele ca o matrice 4x4, astfel încât sunt necesare doar opt pini Arduino. Consultați schema de conectare a comutatorului și schema pentru conexiunile adecvate.
Afișajul LCD este cablat pentru o interfață de 4 biți. Am adăugat și un LED extern pe pinul D13 pentru a indica care jucător ar trebui să facă o lovitură. Inițial, jucătorii decid cine face prima lovitură și apoi software-ul controlează automat înainte și înapoi jocul.
Am vrut să adaug efecte sonore simple pentru fotografiere, explozii, jocul pregătit și câștigător / învins. Am încercat să folosesc un senzor piezo buzzer simplu, dar am ajuns cu un difuzor mic. Curentul cerut de difuzor depășește ceea ce poate gestiona Arduino, astfel încât a fost adăugat un amplificator de tranzistor simplu. Sunetul încă nu este grozav, dar este mai bun decât cu buzzer-ul. Difuzorul meu este de 4 ohmi, dar dacă aveți unul de 8 ohmi, schimbați rezistorul din schemă de la 39 ohmi la 33 ohmi. Dacă utilizați un buzzer piezo, ar trebui să îl puteți conduce direct de la pinul Arduino cu cealaltă parte a buzzerului conectată la masă.
Un comutator de resetare extern este, de asemenea, inclus și este conectat direct între masă și pinul de „resetare” de pe Arduino. Aceasta oferă mijloacele pentru repornirea jocului.
Pasul 2: Software
Software-ul are fișierul include pentru interfața LCD și am creat, de asemenea, un fișier include pentru scanarea matricei comutatorului 4x4. Inițializarea îi solicită jucătorului să selecteze locațiile pentru navele sale și apoi trece la starea „Gata”. Când ambii jucători sunt gata, unul dintre ei începe jocul apăsând un buton.
Locația împușcatului este transmisă prin UART către celălalt jucător, iar rezultatul corespunzător este transmis înapoi către jucătorul care a tras. După cum sa menționat mai devreme, odată ce prima fotografie a fost făcută, software-ul controlează cine face următoarea fotografie. Înainte de transmiterea unei fotografii, aceasta este verificată în funcție de locațiile fotografiilor anterioare. Dacă acea locație a fost deja utilizată, atunci fotografierea nu va fi transmisă. LED-ul „My_Shot” determină a cui este rândul. Există, de asemenea, un sunet împușcat generat pentru o selecție validă și un sunet de explozie dacă o navă este lovită. Efectele sonore sunt derivate din exemple găsite online cu modificări pentru a se potrivi jocului.
Odată ce toate navele unui adversar au fost lovite, un mesaj este afișat pe fiecare LCD - unul ca învingător și unul ca învins. Mesajul specifică, de asemenea, că jocul poate fi repornit apăsând butonul de resetare. Există, de asemenea, efecte sonore separate pentru câștigător și învins.
Pasul 3: Capturi de ecran
Iată câteva capturi de ecran din joc. Gata pentru această postare. Consultați celelalte instructabile ale mele și, de asemenea, site-ul meu web la: www.boomerrules.wordpress.com
Recomandat:
Joc de ruletă DIY 37 Leds Arduino: 3 pași (cu imagini)
DIY 37 Leds Arduino Roulette Game: Roulette este un joc de cazino numit după cuvântul francez care înseamnă roată mică
Design de joc în Flick în 5 pași: 5 pași
Designul jocului în Flick în 5 pași: Flick este un mod foarte simplu de a crea un joc, în special ceva de genul puzzle, roman vizual sau joc de aventură
Joc Simon - Joc distractiv !: 5 pași
Joc Simon - Joc distractiv !: Referință: Aici După un weekend lung, trebuie să fii cu adevărat greu să îndeplinești toate sarcinile și munca de care ești responsabil. Este timpul să ne antrenăm creierul, nu-i așa? Pe lângă acele jocuri plictisitoare și fără sens, există și un joc numit Simon Game
Controler de joc DIY bazat pe Arduino - Controler de joc Arduino PS2 - Jucând Tekken cu DIY Arduino Gamepad: 7 pași
Controler de joc DIY bazat pe Arduino | Controler de joc Arduino PS2 | Jucând Tekken cu DIY Arduino Gamepad: Bună, băieți, jocul este întotdeauna distractiv, dar jocul cu propriul controler personalizat DIY este mai distractiv
Consola de joc Arduino Pocket + A-Maze - Joc Maze: 6 pași (cu imagini)
Arduino Pocket Game Console + A-Maze - Maze Game: Bine ați venit la primul meu instructable! Proiectul pe care vreau să îl împărtășesc astăzi este jocul de labirint Arduino, care a devenit o consolă de buzunar la fel de capabilă ca Arduboy și consolele similare bazate pe Arduino. Poate fi intermitent cu jocurile mele (sau ale dvs.) viitoare datorită expo