Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Spildesign
- Trin 2: Behandlingsknapper
- Trin 3: Klasserhierarki
- Trin 4: Opdatering af skærmen
- Trin 5: Spillogik
- Trin 6: Et påskeæg
Video: LCD Invaders: a Space Invaders Like Game på 16x2 LCD Character Display: 7 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Det er ikke nødvendigt at introducere et legendarisk “Space Invaders” -spil. Det mest interessante ved dette projekt er, at det bruger tekstvisning til grafisk output. Det opnås ved at implementere 8 brugerdefinerede tegn.
Du kan downloade den komplette Arduino -skitse her:
github.com/arduinocelentano/LCD_invaders/
Forbrugsvarer
Arduino UNO bestyrelse
LCD tastatur skjold
USB -kabel til upload af skitser
Trin 1: Spildesign
Skærmen tillader ikke at styre separate pixels og indeholder kun to tekstlinjer, hvilket ikke er nok til spil. Men det giver mulighed for at implementere op til 8 brugerdefinerede tegn. Tricket er at behandle hver 5x8 pixel karakter som to 5x4 pixels spilceller. Det vil sige, at vi har 16x4 spilfelt, hvilket giver mening. 8 tegn er lige nok til at implementere sprites til spillerens rumskib, kugler og animerede rumvæsener. Da sprites er 5x4 og tegnene er 5x8, skal vi bruge nogle tegn med to sprites som "et rumskib og en kugle" sprite, "en alien og en bullet sprite" osv. Alle de brugerdefinerede tegn vises på billedet.
Trin 2: Behandlingsknapper
Typisk er alle knapper på et LCD -skærm forbundet til den samme analoge pin. Der er forskellige versioner af LCD -skjold, så du bliver sandsynligvis nødt til at ændre helt tal i min knapbehandlingskode.
Trin 3: Klasserhierarki
Jeg har implementeret en basisklasse GameObject, som har koordinater og hastighedsfelter og behandler kollisioner. Klasser Ship, Alien og Bullet arves fra den.
Trin 4: Opdatering af skærmen
Gengivelseslogik kan se noget kompliceret ud, fordi vi er nødt til at omdanne 16x4 spillogik til 16x2 display. Læs kommentarerne i koden for yderligere reference. For at undgå flimring brugte jeg et todimensionalt char -array som tekstbuffer. Det giver mulighed for at bruge et par (en for hver linje) udskrivningsoperationer til at opdatere skærmen.
Trin 5: Spillogik
Her er spilets hjerte. Hovedløkken ændrer koordinaterne for alle objekterne, kontrollerer alle former for kollisioner og knappresshændelser. Aliens hastighed og deres skyde sandsynlighed stiger fra niveau til niveau. Men pointbelønningen stiger også.
Trin 6: Et påskeæg
Der er ikke noget niveau efter niveau 42. Alvorligt. Det er livets ultimative niveau, universet og alt.:)
Anbefalede:
Lego bærbar spillekonsol med Space Invaders: 4 trin
Lego bærbar spillekonsol med Space Invaders: Har du nogensinde tænkt på at være en spiludvikler og bygge din egen spillekonsol, som du kan spille på farten? Alt du behøver er lidt tid, hardware Lego bricksa Mini-Calliope (kan bestilles på dette websted https://calliope.cc/da) og nogle færdigheder
Space Invaders i Micropython på Micro: bit: 5 trin
Space Invaders i Micropython på Micro: bit: I vores tidligere artikler har vi undersøgt spilfremstilling på GameGo, en bærbar retro -spilkonsol udviklet af TinkerGen education. De spil, vi lavede, mindede om gamle Nintendo -spil. I dagens artikel vil vi tage et skridt tilbage, for at
Sådan laver du Space Invaders på mikrobit .: 4 trin
Sådan laver du Space Invaders på Micro Bit .: Så det første trin er at oprette vores skib. Du går til " Grundlæggende " og tilføj en " Ved start " blok. Derefter går du til " Variabler " og du opretter en variabel kaldet " SHIP " og vælg en blok fra " Variabler " fane t
Arduino LCD 16x2 Tutorial - Interfacing 1602 LCD -display med Arduino Uno: 5 trin
Arduino LCD 16x2 Tutorial | Interfacing 1602 LCD -display med Arduino Uno: Hej fyre, da mange projekter har brug for en skærm for at vise dataene, uanset om det er en diy meter eller YouTube -abonnementstæller eller en lommeregner eller et tastaturlås med display, og hvis alle denne slags projekter er lavet med arduino vil de helt sikkert
Space Invaders Clock (på et budget!): 6 trin (med billeder)
Space Invaders Clock (på et budget!): For nylig så jeg et sejt byggeri af GeckoDiode, og jeg ville straks bygge det selv. Instructable er Space Invaders Desktop Clock, og jeg anbefaler, at du kigger på det efter at have læst dette. Projektet var næsten udelukkende bygget af dele, der var hentet