Talaan ng mga Nilalaman:
Video: Laro ng Arduino Battleship: 3 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Naalala ko ang paglalaro ng isang bersyon ng papel at lapis ng Battleship Game bilang isang bata. Sa katunayan, ito ay nasa paligid mula noong tungkol sa World War 1. Nagkaroon din ako ng isang "elektronikong" variant noong unang bahagi ng 1960 na tinawag na "Sonar Sub Hunt" na may mga ilaw at tunog at mga nakatagong mga mina. Sa mga pamantayan ng video game ngayon ang Battleship ay medyo nakakainip ngunit naisip kong gagawa pa rin ako upang makita lamang kung ano ang naisip ng mga apo tungkol dito. Pagkatapos ng lahat, kung minsan ang retro ay maaaring maging cool.
Mayroong mga piraso at piraso ng proyektong ito na magiging kapaki-pakinabang sa ibang lugar kahit na hindi ka interesado na gawin ang laro ng Battleship. Mayroon itong isang simpleng 4-bit 1602 LCD interface na may kasamang isang gawain para sa pagtatakda ng isang tukoy na lokasyon ng character. Mayroon ding isang interface para sa pag-decode ng isang 4x4 switch matrix. Ang dalawang mga interface na ito ay magagamit bilang magkahiwalay na isama ang mga file upang madali silang madala. Ang laro ay mayroon ding iba't ibang mga regular na epekto ng tunog at isang simpleng isang-transistor audio amplifier circuit.
Hakbang 1: Hardware
Ang eskematiko na ipinakita dito ay para sa isang solong manlalaro kaya't kailangang gawin ang dalawang mga yunit. Ang mga yunit ay nakikipag-usap gamit ang isang 3-wire interface na may kasamang mga linya ng UART TX at RX at isang ground wire. Pinili kong gumamit ng isang standard na 1/8 pulgadang stereo headphone jack at isang karaniwang cable na may mga male plug sa magkabilang dulo. Ang RX mula sa isang kahon ay papunta sa TX ng iba pang kahon at kabaliktaran. Maaari mong gawin iyon sa pamamagitan ng pagpapalit ng mga wire na solder sa headphone jack sa loob ng kahon o pagpapalit nito sa circuit board kapag itinayo mo ito.
Ang klasikong laro ay inilatag bilang isang matrix ngunit nagpasya akong gumawa ng isang simpleng pagpapatupad gamit ang isang 1602 LCD para sa display. Ipinapakita ng unang linya ang mga lokasyon ng barko ng manlalaro at mga pag-shot ng kalaban. Ipinapakita ng pangalawang linya ang mga pag-shot ng manlalaro at anumang mga hit sa mga barko ng kalaban. Nagbibigay iyon ng 16 posibleng lokasyon para sa mga barko. Ang bilang ng mga barko ay nakatakda sa software at arbitraryong pinili ko ang 5.
Ang 16 na lokasyon ng barko ay umaangkop nang maayos sa mga kinakailangan sa switch dahil pinapayagan nito ang isang 4x4 matrix. May magagamit na 4x4 matrix switch pad ngunit pinili kong gumamit ng mga indibidwal na switch sa isang solong linya upang tumugma sa linear display. Gayunpaman, ginawa ko, ang mga switch bilang isang 4x4 matrix upang walong Arduino pins lamang ang kailangan. Sumangguni sa diagram ng switch ng mga kable at ang eskematiko para sa wastong mga koneksyon.
Ang LCD display ay wired para sa isang 4-bit na interface. Nagdagdag din ako ng isang panlabas na LED sa pin D13 upang ipahiwatig kung aling manlalaro ang dapat na kunan ng larawan. Sa una, magpasya ang mga manlalaro kung sino ang kukuha ng unang shot at pagkatapos ay awtomatikong kinokontrol ng software ang pabalik-balik ng laro.
Nais kong magdagdag ng simpleng mga sound effects para sa pagbaril, mga pagsabog, handa na ang laro, at ang nagwagi / natalo. Sinubukan kong gumamit ng isang simpleng piezo buzzer ngunit napunta sa isang maliit na speaker sa halip. Ang kasalukuyang kinakailangan ng nagsasalita ay lumampas sa kung ano ang maaaring hawakan ng Arduino kaya idinagdag ang isang simpleng amplifier ng transistor. Ang tunog ay hindi pa rin maganda ngunit mas mahusay ito kaysa sa buzzer. Ang aking speaker ay 4 ohms ngunit kung mayroon kang isang 8-ohm isa pagkatapos ay baguhin ang risistor sa eskematiko mula 39 ohms hanggang 33 ohms. Kung gumagamit ka ng isang piezo buzzer dapat mong ma-drive ito nang direkta mula sa Arduino pin na may kabilang panig ng buzzer na nakakonekta sa lupa.
Ang isang panlabas na switch ng pag-reset ay kasama rin at direktang wired sa pagitan ng lupa at ang "reset" na pin sa Arduino. Nagbibigay iyon ng mga paraan para sa pag-restart ng laro.
Hakbang 2: Software
Ang software ay may kasamang file para sa aking interface ng LCD at lumikha din ako ng isang isama na file para sa pag-scan ng 4x4 switch matrix. Ang pagpapasimuno ay mag-uudyok sa manlalaro na piliin ang mga lokasyon para sa kanyang mga barko at pagkatapos ay pumunta sa isang "Handa" na estado. Kapag ang parehong mga manlalaro ay handa na ang isa sa kanila ay nagsisimula sa laro sa pamamagitan ng pagpindot sa isang switch.
Ang lokasyon ng pagbaril ay ipinadala sa pamamagitan ng UART sa iba pang manlalaro at ang naaangkop na resulta ay naihatid pabalik sa manlalaro na nagpaputok ng shot. Tulad ng nabanggit kanina, kapag nakuha ang unang kuha, kinokontrol ng software kung sino ang kumukuha ng susunod na shot. Bago mailipat ang isang pagbaril, nasuri ito laban sa mga lokasyon ng mga nakaraang pag-shot. Kung ang lokasyon na iyon ay nagamit na, kung gayon ang shot ay hindi maililipat. Tinutukoy ng "My_Shot" LED kung kaninong turn ito. Mayroon ding tunog ng pagbaril na nabuo para sa isang wastong pagpipilian at isang tunog ng pagsabog kung ang isang barko ay na-hit. Ang mga sound effects ay nagmula sa mga halimbawang nahanap sa online na may mga pagbabago upang umangkop sa laro.
Kapag ang mga barko ng kalaban ay na-hit lahat, isang mensahe ang ipinapakita sa bawat LCD - isa bilang nagwagi, at isa bilang natalo. Tinutukoy din ng mensahe na ang laro ay maaaring i-restart sa pamamagitan ng pagpindot sa pindutan ng pag-reset. Mayroon ding magkakahiwalay na mga sound effects para sa nagwagi at natalo.
Hakbang 3: Mga Screen Shot
Narito ang ilang mga screen shot mula sa laro. Iyon lang para sa post na ito. Suriin ang aking iba pang mga Instructable at pati na rin ang aking website sa: www.boomerrules.wordpress.com
Inirerekumendang:
Paano Mag-upload ng Mga Laro sa Arduboy at 500 Mga Laro sa Flash-cart: 8 Hakbang
Paano Mag-upload ng Mga Laro sa Arduboy at 500 Mga Laro sa Flash-cart: Gumawa ako ng ilang gawang-bahay na Arduboy na may memorya ng Serial Flash na maaaring mag-imbak ng max 500 na laro upang maglaro sa kalsada. Inaasahan kong ibahagi kung paano mag-load ng mga laro dito, kasama ang kung paano mag-imbak ng mga laro sa serial flash memory at lumikha ng iyong sariling pinagsama-samang package ng laro
Ikonekta ang 4 na Laro Gamit ang Arduino at Neopixel: 7 Mga Hakbang (na may Mga Larawan)
Ikonekta ang 4 Laro Gamit ang Arduino at Neopixel: Sa halip na magbigay lamang ng isang regalo sa labas ng istante, nais kong bigyan ang aking mga pamangkin ng isang natatanging regalo na maaari nilang pagsamahin at (sana) mag-enjoy. Habang ang Arduino code para sa proyektong ito ay maaaring napakahirap para sa kanila na maunawaan, ang mga pangunahing konsepto
Pagdaragdag ng Mga Laro sa Atgames Genesis Flashback HD: 5 Mga Hakbang (na may Mga Larawan)
Pagdaragdag ng Mga Laro sa Atgames Genesis Flashback HD: Ito ay magiging isang mabilis na walkthrough ng kung paano magdagdag ng mga laro sa iyong Atgames Genesis Flashback HD. Kung hindi mo alam kung ano ang iyong ginagawa at hindi nag-iingat maaari mong buong brick ang iyong yunit dahil ang itinuturo na ito ay nangangailangan ng pagbabago ng isang sensitibong lugar
Paano Suriin Kung Tumatakbo ang isang Laro sa Iyong Computer Bago ka Bumili ng Laro .: 4 Mga Hakbang
Paano Suriin Kung Tumatakbo ang Isang Laro sa Iyong Computer Bago ka Bumili ng Laro .: Kamakailan-lamang na nakuha ko ang Tawag ng Tanghalan 4 mula sa isang kaibigan (nang libre ay maaari kong idagdag) dahil hindi tatakbo sa kanyang computer. Sa gayon, ang kanyang computer ay medyo bago, at ikinagulat ako nito kung bakit hindi ito tatakbo. Kaya pagkatapos ng ilang oras na paghahanap ng internet, napag-alaman ko
Paano Suriin ang Iyong Mga Detalye ng Computer Bago Bumili ng Mga Laro / software .: 6 Mga Hakbang
Paano Suriin ang Iyong Mga Detalye ng Computer Bago Bumili ng Mga Laro / software .: Sinasaklaw ng gabay na ito ang hinihiling ng lahat ng mga laro / software. Ipinapakita sa iyo ng gabay na ito kung paano suriin kung ang iyong computer ay maaaring magpatakbo at mag-install ng isang cd o dvd na inilagay mo sa iyong computer. Maaari mo ring suriin ang http://cyri.systemrequirementslab.com/srtest/ (mula sa gumagamit na Kweeni