Sisukord:

LCD sissetungijad: Space Invaders Like Game 16x2 LCD tähemärkide ekraanil: 7 sammu
LCD sissetungijad: Space Invaders Like Game 16x2 LCD tähemärkide ekraanil: 7 sammu

Video: LCD sissetungijad: Space Invaders Like Game 16x2 LCD tähemärkide ekraanil: 7 sammu

Video: LCD sissetungijad: Space Invaders Like Game 16x2 LCD tähemärkide ekraanil: 7 sammu
Video: Восстановление и тестирование японской консоли Galaxy Invader 1000 за $ 1 2024, Juuli
Anonim
LCD -sissetungijad: Space Invaders Like Game 16x2 LCD -tähemärkide ekraanil
LCD -sissetungijad: Space Invaders Like Game 16x2 LCD -tähemärkide ekraanil
LCD -sissetungijad: Space Invaders Like Game 16x2 LCD -tähemärkide ekraanil
LCD -sissetungijad: Space Invaders Like Game 16x2 LCD -tähemärkide ekraanil
LCD -sissetungijad: Space Invaders Like Game 16x2 LCD -tähemärkide ekraanil
LCD -sissetungijad: Space Invaders Like Game 16x2 LCD -tähemärkide ekraanil
LCD -sissetungijad: Space Invaders Like Game 16x2 LCD -tähemärkide ekraanil
LCD -sissetungijad: Space Invaders Like Game 16x2 LCD -tähemärkide ekraanil

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

Mängu disain
Mängu disain

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

Töötlemise nupud
Töötlemise nupud

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

Klasside hierarhia
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

Ekraani värskendamine
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

Mängu loogika
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

Lihavõttemuna
Lihavõttemuna

Taset pärast taset 42. pole. Tõsiselt. See on elu ülim tase, universum ja kõik.:)

Soovitan: