Orodha ya maudhui:

Mchezo wa Vita vya Arduino: Hatua 3
Mchezo wa Vita vya Arduino: Hatua 3

Video: Mchezo wa Vita vya Arduino: Hatua 3

Video: Mchezo wa Vita vya Arduino: Hatua 3
Video: ГРЕНДПА и Гренни В РЕАЛЬНОЙ ЖИЗНИ! Почему они перепутали мой дом? GRANDPA GRANNY Chapter Two 2024, Novemba
Anonim
Mchezo wa Vita vya Arduino
Mchezo wa Vita vya Arduino

Nakumbuka nilicheza toleo la karatasi na penseli ya Mchezo wa Vita kama mtoto. Kwa kweli, imekuwa karibu tangu Vita vya Kidunia vya kwanza. Pia nilikuwa na lahaja ya "elektroniki" mwanzoni mwa 1960 inayoitwa "Sonar Sub Hunt" ambayo ilikuwa na taa na sauti na migodi iliyofichwa. Kwa viwango vya mchezo wa video wa leo Vita ya kupendeza ni ya kuchosha lakini nilifikiri ningefanya moja tu tu kuona kile wajukuu walifikiria juu yake. Baada ya yote, wakati mwingine retro inaweza kuwa baridi.

Kuna vipande na vipande vya mradi huu ambavyo vinafaa mahali pengine hata ikiwa huna hamu ya kufanya mchezo wa Vita. Inayo interface rahisi ya 4-bit 1602 LCD ambayo inajumuisha utaratibu wa kuweka eneo maalum la mhusika. Pia kuna kiolesura cha kusimbua matrix ya kubadili 4x4. Violesura hivi viwili vinapatikana kwa kuwa ni pamoja na faili kwa hivyo husafirishwa kwa urahisi. Mchezo pia una utaratibu wa athari za sauti anuwai na mzunguko rahisi wa transistor audio amplifier.

Hatua ya 1: Vifaa

Vifaa
Vifaa
Vifaa
Vifaa

Mpangilio uliowasilishwa hapa ni wa mchezaji mmoja kwa hivyo vitengo viwili vinahitaji kufanywa. Vitengo vinawasiliana kwa kutumia kiunganishi cha waya-3 ambacho kinajumuisha UART TX na mistari ya RX na waya wa ardhini. Nilichagua kutumia kipaza sauti cha kawaida cha 1/8 inchi ya kipaza sauti na kebo ya kawaida iliyo na plugi za kiume pande zote mbili. RX kutoka sanduku moja huenda kwa TX ya sanduku lingine na kinyume chake. Unaweza kufanya hivyo kwa kubadilisha waya zilizouzwa kwa kichwa cha kichwa ndani ya sanduku au kuzibadilisha kwenye bodi ya mzunguko unapoijenga.

Mchezo wa kawaida uliwekwa kama tumbo lakini niliamua kufanya utekelezaji rahisi kwa kutumia LCD ya 1602 kwa onyesho. Mstari wa kwanza unaonyesha maeneo ya meli ya mchezaji na risasi za mpinzani. Mstari wa pili unaonyesha risasi za mchezaji na kupiga yoyote kwenye meli za mpinzani. Hiyo hutoa maeneo 16 yanayowezekana kwa meli. Idadi ya meli imewekwa kwenye programu na nilichagua kiholela 5.

Maeneo ya meli 16 yanafaa vizuri na mahitaji ya kubadili kwa sababu inaruhusu matrix ya 4x4. Kuna pedi za kubadili matrix 4x4 zinazopatikana lakini nilichagua kutumia swichi za kibinafsi katika laini moja ili kulinganisha onyesho la laini. Nilifanya, hata hivyo, waya swichi kama tumbo 4x4 ili pini nane tu za Arduino zinahitajika. Rejelea mchoro wa wiring ya kubadili na muundo wa unganisho sahihi.

Uonyesho wa LCD umeunganishwa kwa kiolesura cha 4-bit. Niliongeza pia mwangaza wa nje kwenye pini D13 kuonyesha ni mchezaji gani anapaswa kupiga risasi. Hapo awali, wachezaji huamua ni nani anapiga risasi ya kwanza na kisha programu kudhibiti moja kwa moja kurudi na kurudi kwa mchezo.

Nilitaka kuongeza athari rahisi za sauti kwa risasi, milipuko, mchezo tayari, na mshindi / mshindwa. Nilijaribu kutumia buzzer rahisi ya piezo lakini niliishia na spika ndogo badala yake. Sasa inayohitajika na spika inazidi kile Arduino inaweza kushughulikia kwa hivyo kiboreshaji cha transistor rahisi kiliongezwa. Sauti bado sio nzuri lakini ni bora kuliko na buzzer. Msemaji wangu ni 4 ohms lakini ikiwa una 8-ohm moja badilisha kipingaji katika mpango kutoka 39 ohms hadi 33 ohms. Ikiwa unatumia buzzer ya piezo unapaswa kuweza kuiendesha moja kwa moja kutoka kwenye pini ya Arduino na upande mwingine wa buzzer iliyounganishwa na ardhi.

Kubadilisha upya wa nje pia kunajumuishwa na kuna waya moja kwa moja kati ya ardhi na pini ya "kuweka upya" kwenye Arduino. Hiyo hutoa njia za kuanza tena mchezo.

Hatua ya 2: Programu

Programu ina faili ya kujumuisha kiolesura changu cha LCD na pia niliunda faili ya kujumuisha skanning ya matrix ya 4x4. Utangulizi unamshawishi mchezaji kuchagua maeneo ya meli zake na kisha kwenda kwa hali ya "Tayari". Wakati wachezaji wote wako tayari mmoja wao huanza mchezo kwa kubonyeza swichi.

Mahali pa kupigwa risasi hupitishwa kupitia UART kwenda kwa mchezaji mwingine na matokeo yanayofaa hupitishwa kwa mchezaji aliyepiga risasi. Kama ilivyoelezwa hapo awali, mara tu risasi ya kwanza imechukuliwa, programu inadhibiti ni nani atakayepiga risasi inayofuata. Kabla ya risasi kupitishwa, inachunguzwa dhidi ya maeneo ya shots zilizopita. Ikiwa eneo hilo tayari limetumika, basi risasi haitasambazwa. LED ya "My_Shot" huamua ni zamu ya nani. Kuna pia sauti ya risasi iliyotengenezwa kwa uteuzi halali na sauti ya mlipuko ikiwa meli imepigwa. Athari za sauti zinatokana na mifano inayopatikana mkondoni na marekebisho ili kutoshea mchezo.

Mara tu meli za mpinzani zimepigwa, ujumbe huonyeshwa kwenye kila LCD - moja kama mshindi, na moja kama mshindwa. Ujumbe pia unabainisha kuwa mchezo unaweza kuanza tena kwa kubonyeza kitufe cha kuweka upya. Pia kuna athari tofauti za sauti kwa mshindi na aliyeshindwa.

Hatua ya 3: Picha za Screen

Picha za Screen
Picha za Screen
Picha za Screen
Picha za Screen
Picha za Screen
Picha za Screen
Picha za Screen
Picha za Screen

Hapa kuna picha kadhaa za skrini kutoka kwa mchezo. Hiyo ni kwa chapisho hili. Angalia Maagizo yangu mengine na pia wavuti yangu kwa: www.boomerrules.wordpress.com

Ilipendekeza: