Obsah:

LCD Invaders: Space Invaders Like Game na 16x2 LCD Character Display: 7 kroků
LCD Invaders: Space Invaders Like Game na 16x2 LCD Character Display: 7 kroků

Video: LCD Invaders: Space Invaders Like Game na 16x2 LCD Character Display: 7 kroků

Video: LCD Invaders: Space Invaders Like Game na 16x2 LCD Character Display: 7 kroků
Video: LCD Character Display: Milestone 1 Complete! 2024, Červenec
Anonim
LCD Invaders: Space Invaders Like Game na 16x2 LCD znakovém displeji
LCD Invaders: Space Invaders Like Game na 16x2 LCD znakovém displeji
LCD Invaders: Space Invaders Like Game na 16x2 LCD znakovém displeji
LCD Invaders: Space Invaders Like Game na 16x2 LCD znakovém displeji
LCD Invaders: Space Invaders Like Game na 16x2 LCD znakovém displeji
LCD Invaders: Space Invaders Like Game na 16x2 LCD znakovém displeji
LCD Invaders: Space Invaders Like Game na 16x2 LCD znakovém displeji
LCD Invaders: Space Invaders Like Game na 16x2 LCD znakovém displeji

Legendární hru „Space Invaders“není třeba představovat. Nejzajímavější vlastností tohoto projektu je, že pro grafické výstupy používá zobrazení textu. Toho je dosaženo implementací 8 vlastních znaků.

Zde si můžete stáhnout kompletní skicu Arduina:

github.com/arduinocelentano/LCD_invaders/

Zásoby

Deska Arduino UNO

Štít klávesnice LCD

USB kabel pro nahrávání skic

Krok 1: Herní design

Herní design
Herní design

Obrazovka neumožňuje ovládat samostatné pixely a poskytuje pouze dva řádky textu, což pro hru nestačí. Umožňuje však implementovat až 8 vlastních znaků. Jde o to, zpracovat každý znak 5x8 pixelů jako dvě herní buňky 5x4 pixelů. To znamená, že budeme mít herní pole 16x4, což dává smysl. 8 postav je dost na to, aby bylo možné implementovat skřítky pro hráčovu vesmírnou loď, kulky a animované mimozemšťany. Protože skřítci jsou 5x4 a postavy jsou 5x8, budeme potřebovat nějaké postavy se dvěma skřítky jako „vesmírná loď a kulka“, „mimozemšťan a kulka“atd. Všechny vlastní postavy jsou zobrazeny na obrázku.

Krok 2: Zpracování tlačítek

Tlačítka zpracování
Tlačítka zpracování

Obvykle jsou všechna tlačítka na stínění LCD připojena ke stejnému analogovému kolíku. Existují různé verze štítu LCD, takže v kódu pro zpracování tlačítek pravděpodobně budete muset mírně změnit celočíselné literály.

Krok 3: Hierarchie tříd

Hierarchie tříd
Hierarchie tříd

Implementoval jsem základní třídu GameObject, která má souřadnice a rychlostní pole a kolize procesů. Z ní se dědí třídy Ship, Alien a Bullet.

Krok 4: Aktualizace obrazovky

Aktualizace obrazovky
Aktualizace obrazovky

Logika vykreslování může vypadat poněkud komplikovaně, protože musíme transformovat logiku hry 16x4 na zobrazení 16x2. Přečtěte si prosím komentáře v kódu pro další reference. Aby se zabránilo blikání, použil jsem jako textový buffer dvourozměrné pole char. Umožňuje použít pár (pro každý řádek jeden) tiskových operací k aktualizaci obrazovky.

Krok 5: Logika hry

Logika hry
Logika hry

Tady je jádro hry. Hlavní smyčka mění souřadnice všech objektů, kontroluje všechny druhy kolizí a události stisknutí tlačítka. Rychlost mimozemšťanů a jejich pravděpodobnost střelby se zvyšuje z úrovně na úroveň. Ale odměna za skóre se také zvyšuje.

Krok 6: Velikonoční vajíčko

Velikonoční vejce
Velikonoční vejce

Neexistuje žádná úroveň za úrovní 42. Vážně. Je to konečná úroveň života, vesmíru a všeho.:)

Doporučuje: