
Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-23 14:38




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

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

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

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

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

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

Neexistuje žádná úroveň za úrovní 42. Vážně. Je to konečná úroveň života, vesmíru a všeho.:)
Doporučuje:
Přenosná herní konzole Lego s Space Invaders: 4 kroky

Přenosná herní konzole Lego s Space Invaders: Přemýšleli jste někdy o tom, že budete vývojářem her a postavíte si vlastní herní konzoli, kterou můžete hrát na cestách? Vše, co potřebujete, je trochu času, hardware
Space Invaders in Micropython na Micro: bit: 5 kroků

Space Invaders in Micropython on Micro: bit: V našich předchozích článcích jsme prozkoumali tvorbu her na GameGo, přenosné retro herní konzoli vyvinuté TinkerGen education. Hry, které jsme vytvořili, připomínaly staré hry Nintendo. V dnešním článku se vrátíme o krok zpět, abychom
Jak vyrobit Space Invaders na Micro Bit .: 4 kroky

Jak vyrobit Space Invaders na Micro Bit .: Prvním krokem je tedy vytvoření naší lodi. Přejdete na " Základní " a přidejte " Při spuštění " blok. Poté přejděte na " Proměnné " a vytvoříte proměnnou s názvem " SHIP " a vyberte blok z " Proměnných " záložka
Hodiny Space Invaders (s rozpočtem!): 6 kroků (s obrázky)

Hodiny Space Invaders (s rozpočtem!): Nedávno jsem viděl skvělou sestavu od GeckoDiode a okamžitě jsem ji chtěl postavit sám. Instructable jsou stolní hodiny Space Invaders a po přečtení tohoto článku vám doporučuji se na něj podívat. Projekt byl téměř výhradně postaven z částí pocházejících z
Lustr Space Invaders With Glow in the Dark Akce: 16 kroků (s obrázky)

Lustr Space Invaders With Glow in the Dark Action: Použijte 3D modelování/tisk, laserem řezaný akryl, lití pryskyřice, UV reaktivní pigment, LED diody a jednoduché zapojení, abyste vytvořili vysoce stylový a retro chladný lustr nebo lampu pro invazi do vesmíru. Zahrnul jsem pěkný trik pro vytváření zakřivených rohů z laserového