Tartalomjegyzék:

LCD Invaders: Space Invaders Like Game 16x2 LCD karakterkijelzőn: 7 lépés
LCD Invaders: Space Invaders Like Game 16x2 LCD karakterkijelzőn: 7 lépés

Videó: LCD Invaders: Space Invaders Like Game 16x2 LCD karakterkijelzőn: 7 lépés

Videó: LCD Invaders: Space Invaders Like Game 16x2 LCD karakterkijelzőn: 7 lépés
Videó: 16x2 LCD Space Invader Game || LCD Space Game || Arduino LCD Games || 16x2 LCD Games | Arduino games 2024, November
Anonim
LCD Invaders: Space Invaders Like Game 16x2 LCD karakterkijelzőn
LCD Invaders: Space Invaders Like Game 16x2 LCD karakterkijelzőn
LCD Invaders: Space Invaders Like Game 16x2 LCD karakterkijelzőn
LCD Invaders: Space Invaders Like Game 16x2 LCD karakterkijelzőn
LCD Invaders: Space Invaders Like Game 16x2 LCD karakterkijelzőn
LCD Invaders: Space Invaders Like Game 16x2 LCD karakterkijelzőn
LCD Invaders: Space Invaders Like Game 16x2 LCD karakterkijelzőn
LCD Invaders: Space Invaders Like Game 16x2 LCD karakterkijelzőn

Nincs szükség egy legendás „Space Invaders” játék bevezetésére. Ennek a projektnek a legérdekesebb tulajdonsága, hogy szöveges megjelenítést használ a grafikus kimenethez. 8 egyéni karakter megvalósításával érhető el.

A teljes Arduino vázlatot innen töltheti le:

github.com/arduinocelentano/LCD_invaders/

Kellékek

Arduino UNO tábla

LCD billentyűzet pajzs

USB kábel a vázlatok feltöltéséhez

1. lépés: Játéktervezés

Játéktervezés
Játéktervezés

A képernyő nem teszi lehetővé különálló képpontok vezérlését, és csak két sornyi szöveget biztosít, ami nem elegendő a játékhoz. De lehetővé teszi akár 8 egyedi karakter megvalósítását. A trükk az, hogy minden 5x8 pixeles karaktert két 5x4 pixeles játékcellának kell feldolgoznia. Vagyis 16x4 -es játékteret kapunk, ami értelmes. 8 karakter elegendő a játékos űrhajójának, a golyóknak és az animált idegeneknek a sprite megvalósításához. Mivel a spritek 5x4 -esek, a karakterek pedig 5x8 -asak, szükségünk lesz néhány karakterre, amelyeknek két spriteje van, mint például "űrhajó és golyó" sprite, "idegen és golyó sprite" stb. Minden egyéni karakter látható a képen.

2. lépés: Gombok feldolgozása

Feldolgozó gombok
Feldolgozó gombok

Általában az LCD pajzs összes gombja ugyanahhoz az analóg tűhöz van csatlakoztatva. Az LCD -pajzsnak különböző változatai vannak, így valószínűleg kissé módosítania kell a gombfeldolgozási kódom egész számértékeit.

3. lépés: Osztályok hierarchiája

Osztályok hierarchiája
Osztályok hierarchiája

Végrehajtottam egy alaposztályú GameObject -t, amely koordinátákkal és sebességmezőkkel rendelkezik, és folyamatokat ütköztet. A hajó, az idegen és a golyó osztályok tőle öröklődnek.

4. lépés: A képernyő frissítése

A képernyő frissítése
A képernyő frissítése

A megjelenítési logika némileg bonyolultnak tűnhet, mert a 16x4 -es játék logikáját 16x2 -es kijelzővé kell alakítanunk. Kérjük, további hivatkozás érdekében olvassa el a kódban található megjegyzéseket. A villódzás elkerülése érdekében kétdimenziós char tömböt használtam szövegpufferként. Lehetővé teszi néhány (egy -egy soronkénti) nyomtatási művelet használatát a képernyő frissítéséhez.

5. lépés: Játéklogika

Játék logika
Játék logika

Itt van a játék szíve. A fő hurok megváltoztatja az összes objektum koordinátáit, ellenőrzi az összes ütközést és a gombnyomást. Az idegenek sebessége és lövésük valószínűsége szintről szintre nő. De a pontszámjutalom is nő.

6. lépés: Húsvéti tojás

Egy húsvéti tojás
Egy húsvéti tojás

A 42. szint után nincs szint. Komolyan. Ez az élet végső szintje, az univerzum és minden.:)

Ajánlott: