Star Wars tema retro arkadspel (5 / 9 steg)
Steg 5: Skapa karaktär
Nu är det dags du börja titta på koden. Om du vill göra din egen karaktär, måste du skapa en byte-array. Du kan hjälpa dig med denna webbplats, som gör karaktärsskapande mycket lättare. Klicka på rutorna och kopiera text till höger när uppfyllda. Detta byte-array skickas sedan till LCD via createChar (n, byte array) funktion. Dags att ta en titt på koden nedan.
#include < LiquidCrystal.h >
byte spaceShip1 [8] = {
0b00000,
0b11110,
0b01000,
0b01100,
0b10111,
0b01100,
0b01000,
0b11110
};
LiquidCrystal lcd (7, 6, 5, 4, 3, 2);
lcd.createChar(0,spaceShip1);
Du måste skapa varje karaktär på samma sätt. Om du tar en titt på själva koden, kommer du se att det finns två rymdskepp tecken för både X-Wing och TIE fighter. Skillnaden mellan dem är att en är en pixel över det andra. Växlingen mellan dem ger en känsla av "levande" rymdskepp som post till döda objekt.
Jag gjorde också två olika hinder - en för översta raden och en för längst ned. Jag försökte att animera dem (motsatta fraktionen fartyg) men som inte visar sig så gott som hela skärmen blev förvirrande + jag skulle vara kvar med endast 2 tecken för explosion animering. Också fungerade inte torn ut alltför väl som var verkligen under fastställda med 5 x 8 px upplösning... Stenar hängande från taket och peta ur marken fungerat bäst.
Explosion består av tre slumpmässiga klumpar av pixlar, var och en att vara större än den förra.
När du vill visa dina karaktär, kan du göra att du genom att ringa lcd.write(n) där n är antalet passerade som första parameter för lcd.createChar(n,byteArray) funktion. I ovan exempel som skulle göras genom att ringa lcd.write(0).