Sisukord:
- Tarvikud
- Samm: mängu kujundamine
- 2. samm: nuppude töötlemine
- 3. samm: klasside hierarhia
- Samm: ekraani värskendamine
- Samm: mängu loogika
- 6. samm: lihavõttemuna
Video: LCD sissetungijad: Space Invaders Like Game 16x2 LCD tähemärkide ekraanil: 7 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Legendaarset “Space Invaders” mängu pole vaja tutvustada. Selle projekti kõige huvitavam omadus on see, et graafiliseks väljundiks kasutatakse tekstiekraani. See saavutatakse 8 kohandatud märgi rakendamisega.
Arduino visandi saate alla laadida siit:
github.com/arduinocelentano/LCD_invaders/
Tarvikud
Arduino UNO plaat
LCD klahvistiku kilp
USB -kaabel visandite üleslaadimiseks
Samm: mängu kujundamine
Ekraan ei võimalda eraldi piksleid juhtida ja pakub vaid kahte rida teksti, millest mänguks ei piisa. Kuid see võimaldab rakendada kuni 8 kohandatud märki. Nipp on töödelda iga 5x8 pikslit tähemärki kahe 5x4 pikslilise mängurakuna. See tähendab, et meil on 16x4 mänguväljak, mis on mõistlik. 8 tähemärgist piisab mängija kosmoselaeva, kuulide ja animeeritud tulnukate spritide rakendamiseks. Kuna spritid on 5x4 ja tähemärgid on 5x8, vajame me kahte tähemärki, näiteks „kosmoselaev ja täpp”, „tulnukas ja täpp” jne. Kõik kohandatud märgid on pildil näidatud.
2. samm: nuppude töötlemine
Tavaliselt on kõik vedelkristallekraani nupud ühendatud sama analoogpistikuga. LCD -ekraanil on erinevaid versioone, seega peate tõenäoliselt minu nuppude töötlemise koodis täisarvu literaale veidi muutma.
3. samm: klasside hierarhia
Olen rakendanud põhiklassi GameObjecti, millel on koordinaadid ja kiirusväljad ning mis töötavad kokkupõrkeid. Klassid Ship, Alien ja Bullet päritakse temalt.
Samm: ekraani värskendamine
Renderdamisloogika võib tunduda mõnevõrra keeruline, kuna peame 16x4 mänguloogika teisendama 16x2 kuvariks. Lisateabe saamiseks lugege koodi kommentaare. Vilkumise vältimiseks kasutasin tekstipuhvrina kahemõõtmelist sümbolit. See võimaldab ekraani värskendamiseks kasutada paari (üks iga rea kohta) printimistoiminguid.
Samm: mängu loogika
Siin on mängu süda. Põhisilmus muudab kõigi objektide koordinaate, kontrollib igasuguseid kokkupõrkeid ja nupuvajutusi. Tulnukate kiirus ja nende laskmise tõenäosus tõusevad tasemelt tasemele. Kuid skooritasu suureneb samuti.
6. samm: lihavõttemuna
Taset pärast taset 42. pole. Tõsiselt. See on elu ülim tase, universum ja kõik.:)
Soovitan:
Space Invaders in Micropython on Micro: bit: 5 sammu
Space Invaders in Micropython on Micro: bit: Meie varasemates artiklites oleme uurinud mängude tegemist GameGo -s, kaasaskantavas retro -mängukonsoolis, mille on välja töötanud TinkerGen haridus. Meie tehtud mängud meenutasid vanu Nintendo mänge. Tänases artiklis astume sammu tagasi, et
Animatsioon 16x2 I2c LCD ekraanil STM32 Nucleo KASUTAMINE: 4 sammu
Animatsioon 16x2 I2c LCD ekraanil STM32 Nucleo KASUTAMINE: Tere sõbrad, see on õpetus, mis illustreerib kohandatud animatsiooni tegemist 16x2 i2c LCD ekraanil. Projekti jaoks on vaja väga vähe asju, nii et kui teil on juurdepääs koodile, saate selle lõpetada see 1 tunni jooksul. Pärast selle õpetuse järgimist saate abl
Space Invaders Clock (eelarvega!): 6 sammu (koos piltidega)
Space Invaders Clock (eelarvega!): Hiljuti nägin GeckoDiode'i lahedat ehitust ja tahtsin seda kohe ise ehitada. Instructable on Space Invaders Desktop Clock ja ma soovitan teil seda pärast selle lugemist vaadata. Projekt ehitati peaaegu ainult osadest, mis on hangitud
Kohandatud tähemärkide generaator (Adafruit HT16k33 maatriks): 3 sammu
Kohandatud tähemärkide generaator (Adafruit HT16k33 Matrix): erimärkide printimine LCD -ekraanidele ja LED -maatriksitele on väga lõbus. Erimärkide või kohandatud märkide printimise protseduur on genereerida iga rea ja veeru jaoks binaarsete väärtustega massiiv. Iga koodi jaoks õige koodi leidmine võib olla pingeline
Space Invaders lühter säraga pimedas: 16 sammu (piltidega)
Space Invaders lühter säraga pimedas: kasutage 3D -modelleerimist/printimist, laserlõigatud akrüüli, vaigu valamist, UV -kiirgusega reageerivat pigmenti, LED -e ja mõnda lihtsat juhtmestikku, et teha kõrge stiiliga ja retrolahedaid kosmosesse tungivaid lühtreid või lampe. Olen lisanud toreda nipi, kuidas laserkiust kumeraid nurki teha