Sadržaj:

LCD Invaders: Space Invaders Like Game na 16x2 LCD ekranu sa likovima: 7 koraka
LCD Invaders: Space Invaders Like Game na 16x2 LCD ekranu sa likovima: 7 koraka

Video: LCD Invaders: Space Invaders Like Game na 16x2 LCD ekranu sa likovima: 7 koraka

Video: LCD Invaders: Space Invaders Like Game na 16x2 LCD ekranu sa likovima: 7 koraka
Video: Nokia 3310 destruction test | nokia 3310 durability test #shorts 2024, Juli
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 za uvođenjem legendarne igre "Space Invaders". Najzanimljivija karakteristika ovog projekta je da koristi grafički prikaz teksta za prikaz. To se postiže implementacijom 8 prilagođenih znakova.

Kompletnu Arduino skicu možete preuzeti ovdje:

github.com/arduinocelentano/LCD_invaders/

Supplies

Arduino UNO ploča

Štitnik LCD tastature

USB kabel za postavljanje skica

Korak 1: Dizajn igara

Dizajn igara
Dizajn igara

Zaslon ne dopušta kontrolu zasebnih piksela i nudi samo dva reda teksta što nije dovoljno za igru. Ali 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. Odnosno, imat ćemo teren 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 sprajta "svemirski brod i metak", "vanzemaljac i sprajt s metkom" itd. Svi prilagođeni znakovi prikazani su na slici.

Korak 2: Obrada dugmadi

Dugmad za obradu
Dugmad za obradu

Obično su svi gumbi na LCD ekranu povezani 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 kolizije. Od njega su naslijeđene klase Brod, Alien i Bullet.

Korak 4: Ažuriranje ekrana

Ažuriranje ekrana
Ažuriranje ekrana

Logika prikazivanja može izgledati donekle komplicirano jer moramo transformirati logiku igre 16x4 u ekran 16x2. Molimo pročitajte komentare u kodu za daljnju referencu. Da bih izbjegao treperenje, koristio sam dvodimenzionalni niz znakova kao međuspremnik za tekst. Omogućava korištenje nekoliko (po jedna za svaku liniju) operacija ispisa za ažuriranje ekrana.

Korak 5: Logika igre

Logika igre
Logika igre

Evo srca igre. Glavna petlja mijenja koordinate svih objekata, provjerava sve vrste sudara i događaje pri pritisku gumba. Brzina vanzemaljaca i njihova vjerovatnoća gađanja raste s nivoa na nivo. Ali i nagrada se povećava.

Korak 6: Uskršnje jaje

Uskršnje jaje
Uskršnje jaje

Nema nivoa nakon nivoa 42. Ozbiljno. To je krajnji nivo života, univerzum i sve.:)

Preporučuje se: