Sisukord:
Video: Flappy Bird ATtiny85 ja OLED -ekraaniga SSD1306: 6 sammu (koos piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Tere kõigile, Täna näitan teile põhilist flappy linnuklooni, mille ma lõin, ja kuidas saate sarnast mängu teha. Läbin teiega sisuliselt oma koodi läbi ja selgitan igal sammul, kuidas see töötab. See mäng on loodud töötama ATtiny85 sagedusel 1MHz ja I2C OLED ekraaniga. Edasi!
Samm: riistvara
Kui te ei ole huvitatud mänguringi tegelikust ehitamisest, kuid mõistate selle taga olevat teooriat, võite selle sammu vahele jätta.
Minu mäng nõuab kahte nuppu, ATtiny85, I2C OLED 128x64px ekraani ja mõnda toiteallikat. Minu juhendatav visiitkaart/mängukonsool: ATtiny85 ja OLED -ekraan näitavad teile, kuidas ehitada tahvlit, millel on kõik vajalik olemas! Kui te pole minu plaadi valmistamisest huvitatud, võtke oma leivaplaat välja ja ma ütlen teile spetsifikatsioonid. Võite kasutada ATtiny85 mis tahes varianti. Soovitan selliseid OLED -kuvasid.
- Ühendage kahe nupu üks külg ATtiny85 tihvtidega 2 ja 3. Nendele juhtmetele lisage ka maandusega ühendatud 10k oomine takisti (tõmbetakistus).
- Ühendage nende nuppude teine pool pingega. Kui nuppu ei vajutata, on nõela olek madal. Kui seda vajutada, on tihvti olek kõrge.
- Ühendage tihvt 7 kuvari SCL -tihvtiga ja tihvt 5 kuvari SDA -tihvtiga. Ühendage vastavalt toitekaablid (VCC ja GND) ekraanile.
- Lõpuks ühendage ATtiny tihvt 4 maandusega ja pin 8 pingega.
Samm: tarkvara
Siin on kaust, kus on kõik mängu käivitamiseks vajalikud failid. Kaks faili, FlappyBird.ino ja WallFunctions.h, on teie lugemisrõõmu jaoks väga hästi kommenteeritud. Saate FlappyBird.ino visandi oma ATtiny85 -sse (1 MHz) üles laadida ja mängida! Kui selle mängu teooria õppimine pakub teile huvi või soovite oma mängu teha, lugege edasi!
Minu mänguga on veel paar probleemi. I2C ei ole parim viis andmete edastamiseks mis tahes viisil. Selle postituse kohaselt saab ekraan vastu võtta andmeid ainult umbes 100KHz sagedusel, nii et isegi kui tõstame ATtiny taktsageduse 8MHz -ni, on I2C kanal endiselt kitsaskoht. Ekraan suudab väljastada maksimaalselt umbes 10 kaadrit sekundis. Mida rohkem pilte ekraanil on vaja joonistada, seda aeglasem on kogu protsess. Seega on minu mäng üsna lihtne, kuna te ei saa seinu väga kiiresti üle ekraani liikuma panna! Allpool on teile mõned väljakutsed, kui arvate, et olete oma ülesandega hakkama saanud:
- Mängu raskendamiseks vaadake, kas saate seinte vahekauguseks 4 asemel 2. See ei tohiks olla liiga raske, kui saate aru, kuidas minu programm töötab:). Palun postitage kommentaaridesse, kui saate selle tööle panna!
- Teine asi, mis minu mängus puudub, on punktisüsteem ja viis tulemuse kuvamiseks ja salvestamiseks. Vaadake, kas saate ühe rakendada!
- Lõpuks, selle asemel, et lasta seintel liigutada ühte veergu korraga, proovige iga seina liigutada sujuvamaks liikumiseks üks piksel korraga.
3. samm: Flappy Bird ATtiny85: teooria
Kuigi meie kasutataval kuvaril on mängu jaoks 64 pikslit kõrgust, on elemente võimalik paigutada ainult 8 -pikslisteks plokkideks. Seega on ainult 8 võimalikku y-koordinaati. Asjade lihtsustamiseks jagasin tarkvaras sel viisil kogu ekraani, tehes 16 plokist 8 ploki suuruse ruudustiku, kus iga ploki suurus on 8x8 pikslit. Iga ploki täitmiseks on mängu igas sprites 8x8 pikslit. See muudab kõike palju lihtsamaks hallata. Kui vaatate ülaltoodud pilti, näete, kuidas ma ekraani jagasin. Iga sein koosneb 6 plokist, mille auk on 2 ploki kõrgune, seega on iga seina kogukõrgus 8 plokki.
Programmis on iga sein kujutatud struktuurina, mida nimetatakse seinaks. Igal seina struktuuril on kaks omadust - holePosition ja veerg. 'holePosition' on arv 0-6, kuna kahe plokiga kõrge augu korral on 8 plokist seinas ainult 7 võimalikku positsiooni. 'veerg' on arv 0-15, kuna ekraanil on võimalikud 16 veergu plokke.
Soovitan:
ATtiny85 kantavate vibreerivate tegevuste jälgimise kell ja programmeerimine ATtiny85 koos Arduino Unoga: 4 sammu (piltidega)
ATtiny85 kantavate vibreerivate tegevuste jälgimise kell ja programmeerimine ATtiny85 koos Arduino Unoga: kuidas teha kantavat aktiivsuse jälgimise kella? See on kantav vidin, mis on loodud stagnatsiooni tuvastamisel vibreerima. Kas veedate suurema osa ajast arvutis nagu mina? Kas istute tunde, ilma et peaksite sellest aru saama? Siis on see seade
Tasku Flappy Bird Game Machine: 5 sammu
Pocket Flappy Bird Game Machine: see on nodemcu esp8266 mikrokontrolleril põhinev mängukonsool, mis suudab mängida räpast lindu ja paljusid teisi mänge. Seda masinat saab kasutada ka dehuuteri tegemiseks spacehuhns koodi alusel aadressil https://github.com/SpacehuhnTech/esp8266_deauther
Arduino Flappy Bird - Arduino 2,4 "TFT puuteekraaniga SPFD5408 linnumänguprojekt: 3 sammu
Arduino Flappy Bird | Arduino 2,4 -tollise puutetundliku ekraaniga SPFD5408 linnumänguprojekt: Flappy Bird oli mõne aasta jooksul seal liiga populaarne mäng ja paljud inimesed lõid selle omal moel, nii ka mina, lõin Arduinoga oma versiooni flappy linnust ja odava 2,4 "TFT -ga. Puuteekraan SPFD5408, alustame siis
Arduino Flappy Bird mäng: 6 sammu
Arduino Flappy Bird Game: See on väga lihtne Arduino 16*2 LCD -mäng, mida saab mängida nupuvajutusega Easy & Lihtne ………….. Kui teile meeldib see juhend, palun tellige minu kanal https://www.youtube.com/ZenoModiff
Flappy Bird Arduino kasutamine ja töötlemine: 5 sammu
Flappy Bird Arduino kasutamist ja töötlemist: Tere kõigile !!! Tere tulemast uude Arduino -põhisesse projekti. Me kõik oleme korra elus mänginud flappy linnumängu. Mis siis, kui mängime seda oma arvutis ja kontrollime seda oma Arduino abil? Järgige kõiki allpool toodud samme ja selle õpetuse lõpuks