Sadržaj:

LCD Invaders: svemirski osvajači poput igre na LCD ekranu 16x2: 7 koraka
LCD Invaders: svemirski osvajači poput igre na LCD ekranu 16x2: 7 koraka

Video: LCD Invaders: svemirski osvajači poput igre na LCD ekranu 16x2: 7 koraka

Video: LCD Invaders: svemirski osvajači poput igre na LCD ekranu 16x2: 7 koraka
Video: Как поработить человечество ►1 Прохождение Destroy all humans! 2024, Srpanj
Anonim
LCD Invaders: svemirski osvajači poput igre na LCD ekranu 16x2
LCD Invaders: svemirski osvajači poput igre na LCD ekranu 16x2
LCD Invaders: svemirski osvajači poput igre na LCD ekranu 16x2
LCD Invaders: svemirski osvajači poput igre na LCD ekranu 16x2
LCD Invaders: svemirski osvajači poput igre na LCD ekranu 16x2
LCD Invaders: svemirski osvajači poput igre na LCD ekranu 16x2
LCD Invaders: svemirski osvajači poput igre na LCD ekranu 16x2
LCD Invaders: svemirski osvajači poput igre na LCD ekranu 16x2

Nema potrebe uvoditi legendarnu igru "Space Invaders". Najzanimljivija značajka ovog projekta je da koristi grafički prikaz teksta. To se postiže implementacijom 8 prilagođenih znakova.

Cijelu Arduino skicu možete preuzeti ovdje:

github.com/arduinocelentano/LCD_invaders/

Pribor

Arduino UNO ploča

Štitnik LCD tipkovnice

USB kabel za postavljanje skica

Korak 1: Dizajn igara

Dizajn igara
Dizajn igara

Zaslon ne dopušta kontrolu zasebnih piksela i nudi samo dva retka teksta što nije dovoljno za igru. No, omogućuje implementaciju do 8 prilagođenih znakova. Trik je u tome da se svaki lik 5x8 piksela obradi kao dvije ćelije za igru 5x4 piksela. To će reći, imat ćemo polje za igru 16x4, što ima smisla. 8 znakova je dovoljno za implementaciju sprajtova za igračev svemirski brod, metaka i animiranih vanzemaljaca. Budući da su sprajtovi 5x4, a likovi 5x8, trebat će nam neki znakovi s dva sprajta, poput spriteta "svemirski brod i metak", "vanzemaljac i sprite od metka" itd. Svi prilagođeni znakovi prikazani su na slici.

Korak 2: Obrada gumba

Gumbi za obradu
Gumbi za obradu

Obično su svi gumbi na LCD ekranu spojeni na isti analogni pin. Postoje različite verzije LCD ekrana, pa ćete vjerojatno morati malo promijeniti cjelobrojne literale u kodu za obradu gumba.

Korak 3: Hijerarhija klasa

Hijerarhija klasa
Hijerarhija klasa

Implementirao sam GameObject osnovne klase koja ima koordinate i polja brzine te obrađuje sukobe. Od njega su naslijeđene klase Brod, Alien i Bullet.

Korak 4: Ažuriranje zaslona

Ažuriranje zaslona
Ažuriranje zaslona

Logika prikazivanja može izgledati donekle komplicirano jer moramo transformirati logiku igre 16x4 u zaslon veličine 16x2. Molimo pročitajte komentare u kodu za daljnju referencu. Kako bih izbjegao treperenje, koristio sam dvodimenzionalni niz znakova kao međuspremnik za tekst. Omogućuje korištenje nekoliko (po jedan za svaki redak) operacija ispisa za ažuriranje zaslona.

Korak 5: Logika igre

Logika igre
Logika igre

Ovdje je srce igre. Glavna petlja mijenja koordinate svih objekata, provjerava sve vrste sudara i događaje pri pritisku gumba. Brzina vanzemaljaca i njihova vjerojatnost snimanja raste od razine do razine. No, povećava se i bodovna nagrada.

Korak 6: Uskršnje jaje

Uskršnje jaje
Uskršnje jaje

Nema razine nakon razine 42. Ozbiljno. To je krajnja razina života, svemir i sve.:)

Preporučeni: