Sisällysluettelo:

LCD Invaders: Space Invaders Like Game 16x2 LCD -merkinäytöllä: 7 vaihetta
LCD Invaders: Space Invaders Like Game 16x2 LCD -merkinäytöllä: 7 vaihetta

Video: LCD Invaders: Space Invaders Like Game 16x2 LCD -merkinäytöllä: 7 vaihetta

Video: LCD Invaders: Space Invaders Like Game 16x2 LCD -merkinäytöllä: 7 vaihetta
Video: Space Invader Game Arduino LCD #Shorts #Arduino 2024, Joulukuu
Anonim
LCD -hyökkääjät: Space Invaders Like Game 16x2 LCD -merkkinäytöllä
LCD -hyökkääjät: Space Invaders Like Game 16x2 LCD -merkkinäytöllä
LCD -hyökkääjät: Space Invaders Like Game 16x2 LCD -merkkinäytöllä
LCD -hyökkääjät: Space Invaders Like Game 16x2 LCD -merkkinäytöllä
LCD -hyökkääjät: Space Invaders Like Game 16x2 LCD -merkkinäytöllä
LCD -hyökkääjät: Space Invaders Like Game 16x2 LCD -merkkinäytöllä
LCD -hyökkääjät: Space Invaders Like Game 16x2 LCD -merkkinäytöllä
LCD -hyökkääjät: Space Invaders Like Game 16x2 LCD -merkkinäytöllä

Legendaarista Space Invaders -peliä ei tarvitse esitellä. Tämän projektin mielenkiintoisin piirre on se, että se käyttää tekstinäyttöä graafiseen tulostukseen. Se saavutetaan toteuttamalla 8 mukautettua merkkiä.

Voit ladata täydellisen Arduino -luonnoksen täältä:

github.com/arduinocelentano/LCD_invaders/

Tarvikkeet

Arduino UNO -levy

LCD -näppäimistön suojus

USB -kaapeli luonnosten lataamiseen

Vaihe 1: Pelin suunnittelu

Pelin suunnittelu
Pelin suunnittelu

Näyttö ei salli erillisten pikselien ohjaamista, ja siinä on vain kaksi riviä tekstiä, joka ei riitä peliin. Mutta se mahdollistaa jopa 8 mukautetun merkin toteuttamisen. Temppu on käsitellä jokainen 5x8 pikselin merkki kahdeksi 5x4 pikselin pelisoluksi. Toisin sanoen meillä on 16x4 -pelikenttä, mikä on järkevää. 8 merkkiä riittää toteuttamaan spritejä pelaajan avaruusalukselle, luoteille ja animoiduille muukalaisille. Koska spritit ovat 5x4 ja merkit 5x8, tarvitsemme joitain merkkejä, joissa on kaksi spriteä, kuten "avaruusalus ja luoti" sprite, "avaruusolento ja bullet sprite" jne. Kaikki mukautetut merkit näkyvät kuvassa.

Vaihe 2: Painikkeiden käsittely

Käsittelypainikkeet
Käsittelypainikkeet

Tyypillisesti kaikki nestekidenäytön painikkeet on kytketty samaan analogiseen nastaan. Nestekidenäytöstä on olemassa erilaisia versioita, joten sinun on todennäköisesti muutettava hiukan kokonaislukukirjaimia painikekäsittelykoodissani.

Vaihe 3: Luokkahierarkia

Luokkien hierarkia
Luokkien hierarkia

Olen toteuttanut perusluokan GameObjectin, jossa on koordinaatit ja nopeuskentät ja prosessit törmäyksiin. Ship, Alien ja Bullet periytyvät siitä.

Vaihe 4: Näytön päivittäminen

Näytön päivittäminen
Näytön päivittäminen

Renderointilogiikka voi näyttää hieman monimutkaiselta, koska meidän on muutettava 16x4 -pelilogiikka 16x2 -näyttöksi. Lue koodin kommentit saadaksesi lisätietoja. Välkkymisen välttämiseksi käytin kaksiulotteista char -taulukkoa tekstipuskurina. Sen avulla voidaan käyttää pari (yksi kullekin riville) tulostustoimintoja näytön päivittämiseen.

Vaihe 5: Pelilogiikka

Pelin logiikka
Pelin logiikka

Tässä on pelin sydän. Pääsilmukka muuttaa kaikkien objektien koordinaatteja, tarkistaa kaikenlaisia törmäyksiä ja painiketapahtumia. Ulkomaalaisten nopeus ja heidän ampumisen todennäköisyys lisääntyvät tasolta tasolle. Mutta myös pistepalkinto kasvaa.

Vaihe 6: Pääsiäismuna

Pääsiäismuna
Pääsiäismuna

Tasoa 42. jälkeen ei ole. Vakavasti. Se on elämän, maailmankaikkeuden ja kaiken perimmäinen taso.:)

Suositeltava: