Talaan ng mga Nilalaman:

Arduino Sorta Sudoku Game: 3 Hakbang (na may Mga Larawan)
Arduino Sorta Sudoku Game: 3 Hakbang (na may Mga Larawan)

Video: Arduino Sorta Sudoku Game: 3 Hakbang (na may Mga Larawan)

Video: Arduino Sorta Sudoku Game: 3 Hakbang (na may Mga Larawan)
Video: Сделал игру по фильму за 30 секунд #программист #gamedev #компьютер #игры #айти 2024, Nobyembre
Anonim
Arduino Sorta Sudoku Game
Arduino Sorta Sudoku Game

Maraming tao ang gustong maglaro sa Sudoku at sa mga apo na gusto ang paghula ng laro kaya't napagpasyahan kong gumawa ng portable na "Sorta Sudoku" na laro. Sa aking bersyon ang laro ay isang 4x4 grid ngunit isang numero lamang ang ibinigay. Ang ideya ay hulaan ang natitirang mga numero sa kaunting mga pagsubok. Ito ay isang simpleng laro ngunit maaari itong maging isang uri ng addicting habang hinahabol mo ang perpektong iskor na 15. Ang laro ay nangangailangan ng parehong elemento ng swerte pati na rin ang lohika at ang pinakamahusay na iskor na nakita ko sa ngayon ay 16. Tingnan mo kahit kung hindi ka interesado sa pagbuo ng laro, maaaring may ilang mga elemento ng software na maaari mong gamitin sa isa sa iyong sariling mga proyekto.

Hakbang 1: Hardware

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

Ang hardware ay maaaring batay sa halos anumang bersyon ng Arduino. Ginawa ko ang prototyping gamit ang isang Nano at pagkatapos ay sinunog ang code sa isang ATMega328 chip. Iyon ang parehong maliit na tilad na ginamit sa Nano ngunit ang paggamit nito nang mag-isa ay nagbibigay-daan para sa isang mas compact build at mas kaunting pagkonsumo ng kuryente. Tulad ng nakikita mo, itinayo ko ang circuit sa isang maliit na breadboard na mga piggyback sa module ng LCD. Ang iba pang aspeto na naiiba ay ang Nano ay tumatakbo sa 16-MHz gamit ang isang panlabas na kristal ngunit pinili kong gamitin ang built-in na 8-MHz oscillator para sa chip ng ATMega328. Makakatipid ng mga piyesa at lakas.

Ang 2004 LCD interface sa Arduino sa parehong paraan tulad ng isang 1602 LCD. Ang isang kagiliw-giliw na pagkakaiba ay sa pagtugon sa mga lokasyon ng display. Malinaw na mayroong pagkakaiba sapagkat mayroong apat na linya sa halip na dalawa ngunit, noong 2004, ang pangatlong linya ay isang extension ng unang linya at ang pang-apat na linya ay isang extension ng pangalawang linya. Sa madaling salita, kung mayroon kang isang programa sa pagsubok na nagpadala lamang ng isang string ng mga character sa LCD, ang ika-21 character ay lalabas sa pagsisimula ng pangatlong linya at ang pang-41 na character ay balot pabalik sa simula ng unang linya. Hinahawakan ng software ang pagkakaiba sa isang talahanayan ng paghahanap ng LCD address.

Ang input para sa laro ay isang homemade 4x4 switch matrix. Ang bawat switch ay direktang tumutugma sa katumbas na lokasyon sa display. Mayroon ding power switch at isang reset switch. Nalilinis ng switch ng pag-reset ang lumang laro at bumubuo ng isang bagong laro.

Nagpasiya akong patakbuhin ang aking bersyon ng baterya kaya gumamit ako ng isang karaniwang 18650 Li-ion, 3.6-volt na baterya. Kinakailangan nito na magdagdag ako ng isang maliit na board upang payagan ang USB recharging at isa pang maliit na board upang mapalakas ang boltahe ng baterya sa 5 volts para sa LCD at sa chip ng ATMega. Ipinapakita ng mga larawan ang mga module na ginamit ko ngunit mayroon ding mga all-in-one na modyul na parehong gumagana.

Hakbang 2: Software

Ang software ay pareho para sa parehong Nano at ang ATMega328 chip. Ang pagkakaiba lamang ay sa pamamaraan ng pagprograma. Gumagamit ako ng aking sariling bersyon ng barebones ng LCD software at keyboard matrix decode software. Ang mga ito ay magkakahiwalay na "isama" na mga file para sa proyekto.

Ang mga utos na "random" at "randomSeed" ay ginagamit upang makatulong na likhain ang laro. Nagdagdag ako ng isang i-save sa EEPROM ng "binhi" upang matiyak na ang isang iba't ibang pagkakasunud-sunod ay nabuo sa bawat powerup. Ang mga linya para sa palaisipan ay nagmula sa isang 24 na elemento ng pagtingin sa hanay. Ang unang tatlong linya ay sapalarang napili mula sa talahanayan, na may mga tseke upang matiyak na ang isang napiling linya ay hindi sumasalungat sa isang nakaraang linya. Ang huling linya ay manu-manong napunan dahil magkakaroon lamang ng isang posibleng pattern sa puntong iyon. Pagkatapos nito ay isang bagay lamang sa pag-scan ang matrix ng keyboard at pag-convert ng mga pindot ng key sa mga numero.

Upang hulaan ang isang numero, pindutin ang kaukulang switch nang paulit-ulit. Ang bawat pagpindot ay nagdaragdag ng ipinakitang numero. Kung na-overshoot mo ang numero na gusto mo, magpatuloy lamang sa pagpindot. Kung pakawalan mo ang switch para sa isang segundo, magkakandado ito sa huling ipinakitang numero. Kung ang numero ay hindi wasto malilinaw nito ang numero at maaari mong subukang muli. Ang bawat hula ay nagdaragdag ng ipinapakitang counter at sa sandaling nahulaan nang tama ang isang numero, ang matrix switch na iyon ay mabisang hindi pinagana.

Hakbang 3: Nagpapakita

Nagpapakita
Nagpapakita
Nagpapakita
Nagpapakita
Nagpapakita
Nagpapakita

Narito ang ilang mga larawan ng iba't ibang mga pagpapakita.

Inirerekumendang: