Satura rādītājs:

LCD iebrucēji: kosmosa iebrucējiem līdzīga spēle 16x2 LCD rakstzīmju displejā: 7 soļi
LCD iebrucēji: kosmosa iebrucējiem līdzīga spēle 16x2 LCD rakstzīmju displejā: 7 soļi

Video: LCD iebrucēji: kosmosa iebrucējiem līdzīga spēle 16x2 LCD rakstzīmju displejā: 7 soļi

Video: LCD iebrucēji: kosmosa iebrucējiem līdzīga spēle 16x2 LCD rakstzīmju displejā: 7 soļi
Video: Как поработить человечество ►1 Прохождение Destroy all humans! 2024, Jūlijs
Anonim
LCD iebrucēji: kosmosa iebrucējiem līdzīga spēle 16x2 LCD rakstzīmju displejā
LCD iebrucēji: kosmosa iebrucējiem līdzīga spēle 16x2 LCD rakstzīmju displejā
LCD iebrucēji: kosmosa iebrucējiem līdzīga spēle 16x2 LCD rakstzīmju displejā
LCD iebrucēji: kosmosa iebrucējiem līdzīga spēle 16x2 LCD rakstzīmju displejā
LCD iebrucēji: kosmosa iebrucējiem līdzīga spēle 16x2 LCD rakstzīmju displejā
LCD iebrucēji: kosmosa iebrucējiem līdzīga spēle 16x2 LCD rakstzīmju displejā
LCD iebrucēji: kosmosa iebrucējiem līdzīga spēle 16x2 LCD rakstzīmju displejā
LCD iebrucēji: kosmosa iebrucējiem līdzīga spēle 16x2 LCD rakstzīmju displejā

Nav nepieciešams ieviest leģendāro spēli “Space Invaders”. Šī projekta interesantākā iezīme ir tā, ka grafiskajai izvadei tiek izmantots teksta displejs. Tas tiek panākts, ieviešot 8 pielāgotas rakstzīmes.

Šeit varat lejupielādēt pilnu Arduino skici:

github.com/arduinocelentano/LCD_invaders/

Piegādes

Arduino UNO valde

LCD tastatūras vairogs

USB kabelis skiču augšupielādei

1. solis: spēles dizains

Spēļu dizains
Spēļu dizains

Ekrāns neļauj kontrolēt atsevišķus pikseļus un nodrošina tikai divas teksta rindas, kas nav pietiekami spēlei. Bet tas ļauj ieviest līdz 8 pielāgotajām rakstzīmēm. Triks ir apstrādāt katru 5x8 pikseļu rakstzīmi kā divas 5x4 pikseļu spēles šūnas. Tas nozīmē, ka mums būs 16x4 spēļu laukums, kam ir jēga. 8 rakstzīmes ir pietiekami, lai ieviestu sprites spēlētāja kosmosa kuģim, lodēm un animētiem citplanētiešiem. Tā kā sprites ir 5x4 un rakstzīmes ir 5x8, mums būs vajadzīgas dažas rakstzīmes ar diviem spritiem, piemēram, “kosmosa kuģis un lode”, “citplanētietis un ložu sprīts” utt. Visas pielāgotās rakstzīmes ir parādītas attēlā.

2. solis: apstrādes pogas

Apstrādes pogas
Apstrādes pogas

Parasti visas LCD ekrāna pogas ir savienotas ar vienu un to pašu analogo tapu. Pastāv dažādas LCD ekrāna versijas, tāpēc manā pogu apstrādes kodā, iespējams, būs nedaudz jāmaina veseli skaitļi.

3. darbība. Klases hierarhija

Klases hierarhija
Klases hierarhija

Esmu ieviesis bāzes klases GameObject, kuram ir koordinātas un ātruma lauki, un kas apstrādā sadursmes. Ship, Alien un Bullet klases tiek mantotas no tā.

4. darbība. Ekrāna atjaunināšana

Ekrāna atjaunināšana
Ekrāna atjaunināšana

Renderēšanas loģika var šķist nedaudz sarežģīta, jo mums ir jāpārveido 16x4 spēļu loģika 16x2 displejā. Lūdzu, izlasiet komentārus kodā, lai iegūtu papildu atsauci. Lai izvairītos no mirgošanas, es kā teksta buferi izmantoju divdimensiju char masīvu. Tas ļauj ekrāna atjaunināšanai izmantot pāris drukas darbības (vienu katrai rindai).

5. solis: spēles loģika

Spēles loģika
Spēles loģika

Šeit ir spēles sirds. Galvenā cilpa maina visu objektu koordinātas, pārbauda visu veidu sadursmes un pogu nospiešanas notikumus. Citplanētiešu ātrums un viņu šaušanas varbūtība palielinās no līmeņa uz līmeni. Bet palielinās arī balva par rezultātiem.

6. solis: Lieldienu ola

Lieldienu ola
Lieldienu ola

Pēc 42. līmeņa nav līmeņa. Nopietni. Tas ir augstākais dzīves līmenis, Visums un viss.:)

Ieteicams: