Turinys:
Video: „Arduino“mūšio laivo žaidimas: 3 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Prisimenu, kaip vaikystėje žaidžiau mūšio laivo žaidimo popieriaus ir pieštuko versiją. Tiesą sakant, tai buvo maždaug nuo Pirmojo pasaulinio karo. Aš taip pat turėjau „elektroninį“variantą 1960 -ųjų pradžioje, pavadintą „Sonar Sub Hunt“, kuriame buvo šviesos ir garsai bei paslėptos minos. Pagal šiandienos vaizdo žaidimų standartus „Battleship“yra gana nuobodus, bet aš maniau, kad vis tiek padarysiu, norėdamas pamatyti, ką anūkai apie tai galvoja. Galų gale, kartais retro gali būti kietas.
Yra šio projekto smulkmenų, kurios būtų naudingos kitur, net jei nesate suinteresuotas kurti „Battleship“žaidimo. Ji turi paprastą 4 bitų 1602 LCD sąsają, į kurią įeina tam tikro simbolio vietos nustatymo tvarka. Taip pat yra sąsaja 4x4 jungiklio matricos dekodavimui. Šios dvi sąsajos yra prieinamos kaip atskiri aplanko failai, todėl jas lengva perkelti. Žaidimas taip pat turi įvairias garso efektų procedūras ir paprastą vieno tranzistoriaus garso stiprintuvo grandinę.
1 žingsnis: Aparatūra
Čia pateikta schema skirta vienam žaidėjui, todėl reikės pagaminti du vienetus. Įrenginiai bendrauja naudodami 3 laidų sąsają, apimančią UART TX ir RX linijas bei įžeminimo laidą. Aš nusprendžiau naudoti standartinį 1/8 colio stereo ausinių lizdą ir standartinį kabelį su kištukais iš abiejų galų. RX iš vienos dėžutės eina į kitos dėžutės TX ir atvirkščiai. Tai galite padaryti pakeisdami laidus, prilituotus prie ausinių lizdo dėžutės viduje, arba juos sukeisdami ant plokštės.
Klasikinis žaidimas buvo išdėstytas kaip matrica, bet aš nusprendžiau atlikti paprastą įgyvendinimą, naudodamas 1602 LCD ekraną. Pirmoje eilutėje rodomos žaidėjo laivo vietos ir priešininko smūgiai. Antroji eilutė rodo žaidėjo smūgius ir bet kokius smūgius į priešininko laivus. Tai suteikia 16 galimų laivų vietų. Laivų skaičius yra nustatytas programinėje įrangoje, ir aš savavališkai pasirinkau 5.
16 laivų vietų puikiai atitinka jungiklio reikalavimus, nes leidžia naudoti 4x4 matricą. Yra 4x4 matricų jungiklių bloknotai, tačiau aš nusprendžiau naudoti atskirus jungiklius vienoje eilutėje, kad atitiktų linijinį ekraną. Tačiau jungiklius prijungiau kaip 4x4 matricą, kad reikia tik aštuonių „Arduino“kaiščių. Tinkamų jungčių ieškokite jungiklio prijungimo schemoje ir schemoje.
LCD ekranas prijungtas prie 4 bitų sąsajos. Aš taip pat pridėjau išorinį šviesos diodą ant kaiščio D13, nurodydamas, kuris žaidėjas turėtų fotografuoti. Iš pradžių žaidėjai nusprendžia, kas atlieka pirmą smūgį, o tada programinė įranga automatiškai valdo žaidimą pirmyn ir atgal.
Norėjau pridėti paprastus garso efektus šūviui, sprogimams, žaidimui pasiruošus ir nugalėtojui/pralaimėtojui. Bandžiau naudoti paprastą pjezo garsinį signalą, bet galų gale turėjau mažą garsiakalbį. Garsiakalbio reikalaujama srovė viršija tai, ką gali valdyti „Arduino“, todėl buvo pridėtas paprastas tranzistoriaus stiprintuvas. Garsas vis dar nėra puikus, bet jis geresnis nei su garsiniu signalu. Mano garsiakalbis yra 4 omų, bet jei turite 8 omų, tada schemoje pakeiskite rezistorių nuo 39 omų iki 33 omų. Jei naudojate pjezo garsinį signalą, turėtumėte jį valdyti tiesiai iš „Arduino“kaiščio, o kita garso signalo pusė prijungta prie žemės.
Taip pat yra išorinis atstatymo jungiklis, kuris yra tiesiogiai prijungtas tarp žemės ir „Arduino“„atstatymo“kaiščio. Tai suteikia galimybę iš naujo paleisti žaidimą.
2 žingsnis: programinė įranga
Programinė įranga turi įtraukimo failą mano LCD sąsajai, taip pat sukūriau įtraukimo failą 4x4 jungiklių matricos nuskaitymui. Inicijavimas paragina žaidėją pasirinkti savo laivų vietas ir tada pereina į „paruoštą“būseną. Kai abu žaidėjai yra pasiruošę, vienas iš jų pradeda žaidimą paspausdamas jungiklį.
Šūvio vieta per UART perduodama kitam žaidėjui, o atitinkamas rezultatas grąžinamas žaidėjui, kuris atliko smūgį. Kaip minėta anksčiau, padarius pirmąjį kadrą, programinė įranga kontroliuoja, kas fotografuoja kitą kartą. Prieš perduodant šūvį, jis patikrinamas pagal ankstesnių kadrų vietas. Jei ta vieta jau buvo panaudota, kadras nebus perduodamas. Šviesos diodas „My_Shot“nustato, kieno eilė. Taip pat skleidžiamas šūvio garsas, galiojantis pasirinkimas, ir sprogimo garsas, jei laivas pataiko. Garso efektai gaunami iš internete rastų pavyzdžių su žaidimui pritaikytais pakeitimais.
Kai visi priešininko laivai bus pataikyti, kiekviename LCD ekrane bus rodomas pranešimas - vienas nugalėtojas, kitas - pralaimėtojas. Pranešime taip pat nurodoma, kad žaidimą galima paleisti iš naujo paspaudus atstatymo mygtuką. Taip pat yra atskiri garso efektai nugalėtojui ir pralaimėtojui.
3 žingsnis: ekrano nuotraukos
Štai keletas ekrano nuotraukų iš žaidimo. Tai šiam įrašui. Peržiūrėkite kitas mano instrukcijas ir mano svetainę adresu: www.boomerrules.wordpress.com
Rekomenduojamas:
Sukurkite savo dvikovos diskus, kuriuos naudosite mūšio arenoje: 4 žingsniai
Sukurkite savo dvikovos diskus, kuriuos naudosite mūšio arenoje: mane visada iki pusės sužavėjo dvikovos diskai, rasti „Yugioh“animacinių filmų serijoje. Kaip šaunu būtų iškviesti padarą naudojant kortų kaladę ir tada juos išmesti į kokią nors holografinę kovos areną? Čia aš einu per h
Simono žaidimas - įdomus žaidimas!: 5 žingsniai
Simono žaidimas - įdomus žaidimas!: Nuoroda: čia Laikas mums treniruoti smegenis, ar ne? Be tų nuobodžių ir beprasmių žaidimų, yra žaidimas „Simono žaidimas“
„Arduino“akselerometro pamoka: valdykite laivo tiltą naudodami servo variklį: 5 žingsniai
„Arduino“akselerometro pamoka: valdykite laivų tiltą naudodami servo variklį: Akselerometro jutikliai dabar yra daugelyje mūsų išmaniųjų telefonų, kad suteiktų jiems platų naudojimo ir galimybių spektrą, kuriuos naudojame kasdien, net nežinodami, kad už tai atsakingas akselerometras. Viena iš šių galimybių yra valdymas
„Knex“mūšio robotai: 7 žingsniai
„Knex Battle Bots“: http://www.youtube.com/watch?v=LJbFasz1eAg Prieš 2 mėnesius mačiau šį vaizdo įrašą apie „knex“alkūninį veleną. variklis nebuvo pakankamai stiprus, kad paleistų baltą strypą. todėl man kilo mintis panaudoti variklį aviniui atitraukti. štai ką aš sugalvojau. tai nera tikra
Putų mūšio robotas: 7 žingsniai
Putų mūšio robotas: medžiagų sąrašas: -putų šerdis -trys nuolatiniai servo varikliai, du dideli ir vienas mažas -vienas imtuvas -viena baterija keturioms AA arba AAA baterijoms -du ratai, mes panaudojome 3,2 colio „Lego“robotikos ratus servos ir varžtai -smulkiai