Inhoudsopgave:
- Benodigdheden
- Stap 1: Spelontwerp
- Stap 2: Knoppen verwerken
- Stap 3: Klassenhiërarchie
- Stap 4: Het scherm bijwerken
- Stap 5: Spellogica
- Stap 6: Een paasei
Video: LCD Invaders: a Space Invaders Like Game op 16x2 LCD Character Display - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Het is niet nodig om een legendarisch spel "Space Invaders" te introduceren. Het meest interessante kenmerk van dit project is dat het tekstweergave gebruikt voor grafische uitvoer. Dit wordt bereikt door 8 aangepaste karakters te implementeren.
Je kunt de volledige Arduino-schets hier downloaden:
github.com/arduinocelentano/LCD_invaders/
Benodigdheden
Arduino UNO-bord
LCD-toetsenbord schild
USB-kabel voor het uploaden van schetsen
Stap 1: Spelontwerp
Het scherm laat geen afzonderlijke pixels toe en biedt slechts twee regels tekst, wat niet genoeg is voor games. Maar het maakt het mogelijk om maximaal 8 aangepaste tekens te implementeren. De truc is om elk karakter van 5x8 pixels te verwerken als twee spelcellen van 5x4 pixels. Dat wil zeggen dat we een speelveld van 16x4 hebben, wat logisch is. 8 karakters is net genoeg om sprites te implementeren voor het ruimteschip van de speler, kogels en geanimeerde aliens. Aangezien de sprites 5x4 zijn en de karakters 5x8, hebben we een aantal karakters nodig met twee sprites zoals een "een ruimteschip en een kogel" sprite, "een alien en een kogel sprite" enz. Alle aangepaste karakters worden getoond op de afbeelding.
Stap 2: Knoppen verwerken
Meestal zijn alle knoppen op een LCD-scherm aangesloten op dezelfde analoge pin. Er zijn verschillende versies van het LCD-schild, dus je zult waarschijnlijk de letterlijke getallen van gehele getallen in mijn knopverwerkingscode enigszins moeten wijzigen.
Stap 3: Klassenhiërarchie
Ik heb een basisklasse GameObject geïmplementeerd die coördinaten en snelheidsvelden heeft en botsingen verwerkt. De klassen Ship, Alien en Bullet zijn er van geërfd.
Stap 4: Het scherm bijwerken
Renderlogica ziet er misschien wat ingewikkeld uit, omdat we 16x4 gamelogica moeten transformeren in 16x2 weergave. Lees de opmerkingen in de code voor verdere referentie. Om flikkeren te voorkomen, heb ik een tweedimensionale char-array als tekstbuffer gebruikt. Het maakt het mogelijk om een paar (één voor elke regel) afdrukbewerkingen te gebruiken om het scherm bij te werken.
Stap 5: Spellogica
Hier is het hart van het spel. De hoofdlus verandert de coördinaten van alle objecten, controleert allerlei soorten botsingen en drukt op de knop. De snelheid van buitenaardse wezens en hun schietkans neemt van niveau tot niveau toe. Maar de scorebeloning neemt ook toe.
Stap 6: Een paasei
Er is geen niveau na niveau 42. Serieus. Het is het ultieme niveau van leven, het universum en alles.:)
Aanbevolen:
Hoe Space Invaders op Micro Bit te maken: 4 stappen
Hoe Space Invaders op Micro Bit te maken: Dus de eerste stap is om ons schip te maken. Je gaat naar "Basic" en voeg een "Bij start" toe. blok. Dan ga je naar "Variabelen" en je maakt een variabele aan met de naam "SHIP" en selecteer een blok uit de "Variabelen" tabblad t
Arduino Space Race Game Versie _1: 5 stappen
Arduino Space Race Game Versie _1: Hey vrienden. Vandaag ga ik je laten zien hoe je een Space Race Game kunt maken met het LCD5110-scherm en de joystic. Laten we eens kijken naar de stappen
Hoe maak je een 2D-personage met Character Controller in Unreal Engine 4 met Visual Script voor pc: 11 stappen
Hoe maak je een 2D-personage met Character Controller in Unreal Engine 4 Visual Script voor pc gebruiken: Hoe maak je een 2D-personage met character controller in Unreal Engine 4 met visueel script voor pc Hallo, ik ben Jordan Steltz. Ik ontwikkel videogames sinds ik 15 was. In deze tutorial leer je hoe je een basispersonage maakt met in
Character LCD I2c-adapter (I2c-verbindingsvoorbeeld): 12 stappen (met afbeeldingen)
Character LCD I2c-adapter (I2c-verbindingsvoorbeeld): ik ben bezig met een verbindingsschema voor een i2c-adapter voor karakterweergave. Controleer de updates op mijn site. Nu voeg ik ook een bedradingsverbindingsschema toe om de originele bibliotheek te gebruiken, niet mijn gevorkte.LiquidCrystal Arduino-bibliotheek voor de karakter-LCD-displays, gevorkte proje
Space Invaders Clock (met een beperkt budget!): 6 stappen (met afbeeldingen)
Space Invaders Clock (on a Budget!): Onlangs zag ik een coole build van GeckoDiode en ik wilde hem meteen zelf bouwen. De Instructable is Space Invaders Desktop Clock en ik raad je aan er eens naar te kijken nadat je dit hebt gelezen. Het project is bijna uitsluitend opgebouwd uit onderdelen die afkomstig zijn