Ang Snake Game ay napakapopular mula pa sa simula ng mga Mobile phone. Sa una ay dumating ito sa Itim at puting mga cell phone, at di nagtagal ay napasikat. Pagkatapos sa pagsulong ng mga Cellphone, ang larong ito ay malaki rin ang pagbabago, at ngayon maraming mga graphic at makukulay na bersyon ng larong ito ang magagamit.
Ang laro ng ahas ay naging napakapopular na proyekto ng DIY para sa elektronikong Hobbyist at Mga Mag-aaral. Kaya ngayon ipapakita namin ang, Arduino Snake Game, kasama ang lahat ng mga pangunahing pag-andar, habang pinapanatili itong simple nang sabay.
Mga Ginamit na Mga Bahagi:
- Arduino UNO
- 8x8 LED Dot Matrix Display
- Pagrehistro ng Shift 74HC595
- 16x2 LCD
- POT 1K
- Mga Push Button
- Mga kumokonekta na mga wire
- Lupon ng Tinapay
- Power Supply
Paggawa ng Paliwanag:
Ito ay maliit na kumplikadong laro upang bumuo. Ngunit sa tutorial na ito, ginawa naming simple para sa iyo. Upang magawa ang proyektong ito, gumamit kami ng isang 8x8 pulang kulay na Dot matrix display para sa pagpapakita ng ahas at tuldok ng pagkain nito, isang LCD para sa pagpapakita ng mga puntos o iskor, 5 mga push button para sa pagbibigay ng mga direksyon at simulan ang laro at sa wakas isang Arduino UNO para sa pagkontrol ang buong proseso. Ang diagram ng pin ng 8x8 LED Dot Matrix Display na may orihinal na imahe ay ibinigay sa ibaba:
Kapag pinapagana namin ang circuit, magpapakita muna kami ng isang maligayang mensahe at pagkatapos ay isang pahiwatig na "Press Start To Play" sa LCD. Pagkatapos nito, ipinapakita ng LCD ang iskor bilang zero at dot matrix display na nagpapakita ng dalawang tuldok bilang ahas at isang solong tuldok bilang pagkain.
Ngayon ay kailangang pindutin ng gumagamit ang gitnang pindutan upang simulan ang laro at ang ahas ay magsisimulang gumalaw sa paitaas na direksyon bilang default. Pagkatapos ang gumagamit ay kailangang magbigay ng direksyon sa ahas sa pamamagitan ng pagpindot sa 'Mga direksyon ng direksyon' sa paligid ng gitnang pindutan. Ginamit namin dito ang limang mga susi (pindutan ng itulak) lalo na Kaliwa key, Kanang key, Up key, Down key at Start key. Tuwing umabot ang ahas sa tuldok ng pagkain o kumakain ng pagkain, tumataas ang iskor ng 5 puntos bawat oras at ang haba ng Ahas ay nadagdagan ng isang tuldok (LED) sa bawat oras, ang bilis din ng ahas ay naging mas mabilis kaysa dati. At tuwing sasaktan ang ahas sa anumang pader o maabot ang dulo ng LED matrix, pagkatapos ay tatapusin nito ang laro ("Game Over"). Pagkatapos ang gumagamit ay kailangang magsimulang muli ng laro sa pamamagitan ng pagpindot sa start key.
Paliwanag sa Circuit:
Ang circuit ng Snake Game Project na ito ay maliit na kumplikado. Dito nakakonekta namin ang dot matrix display sa pamamagitan ng paggamit ng Shift Register 74HC595. Dito ginagamit ang dalawang rehistro ng paglilipat, isa para sa pagmamaneho ng mga haligi at pangalawa para sa pagmamaneho ng mga hilera. Kontrolin ang mga pin ng parehong rehistro, rehistro ng shift ng Column at rehistro ng shift shift (SH, ST),ay direktang konektado sa numero ng pin ng Arduino na 14 at 16 ayon sa pagkakabanggit. At ang DS pin ng haligi ng shift shift at row shift register ay direktang konektado sa pin number 15 at 17 ng Arduino. Ang pindutan ng pagsisimula para sa pagsisimula ng laro ay konektado sa pin number 3, kaliwang pindutan ng direksyon sa pin 4, pindutan ng kanang direksyon sa pin 6, pataas na pindutan ng direksyon sa pin 2 at pababa na direksyon ng direksyon sa pin 5. Ang isang LCD ay konektado din sa aming hardware upang ipakita ang iskor. Ang mga pin ng RS at EN ay direktang konektado sa pin 13 at 12. Ang RW pin ay direktang lupa. At ang mga data pin na d4-d7 ay konektado sa pin 11, 10, 9, 8 ng Arduino. Ang natitirang koneksyon ay ipinapakita sa diagram ng circuit.
Paliwanag sa Programming:
Upang isulat ang Arduino ahas na code ng laro, una sa lahat ay nagsasama kami ng mga file ng header at tinutukoy ang mga pin para sa LCD. At pagkatapos ay tukuyin ang ilang mga pin para sa mga pindutan ng direksyon at pin ng data para sa paglilipat ng mga rehistro.
# isama
Pagkatapos ay pinasisimulan namin ang lahat ng mga bagay na ginamit namin sa programa. Sa pag- andar ng pag- setup pinasimulan namin ang LCD, na nagbibigay ng direksyon sa mga input output pin, hilahin ang mga piraso at ipinapakita ang maligayang mensahe sa LCD.
walang bisa ang pag-set up () {lcd.begin (16,2); pinMode (ds_col, OUTPUT); pinMode (sh_col, OUTPUT); pinMode (st_col, OUTPUT); pinMode (ds_row, OUTPUT); pinMode (simulan, INPUT);……………
At pagkatapos ay nagsisimula kaming laro sa pagpapaandar ng loop .
void show_snake (int temp) {para sa (int n = 0; n
Ginamit namin dito ang pagpapaandar sa ibaba para sa pagbabasa ng direksyon ng pag-input mula sa pindutan ng push.
void read_button () {if (! digitalRead (left)) {move_r = 0; ilipat_c! = - 1? ilipat_c = -1: ilipat_c = 1; habang (! digitalRead (kaliwa));……………
Suriin ang buong C Code of Snake Game sa ibaba.