Star Wars tema retro arkadspel (8 / 9 steg)
Steg 8: Välj sida
När du startar en ny runda, ber spelet dig att välja din sida. Du kan kliva i skor av rebel fighters och kommandot en x-wing fighter att få hjälp ljusa sidan skapa balans till styrkan eller du kan spela som en imperial clone trooper, stödja väldet i hans Tie fighter.
Att lite kod gör spelet så mycket mer uppslukande och ökar det är reprisen potentiella. Det gör det mer personligt och låter spelaren stöder hans favorit sida.
Även om det är lätt att skriptet döljer det några små knep. Först är hur man skiljer sig knapp klick från knappen håll. Som du ser, klicka växlar sida och håll börjar spelet. Det kan enkelt göras genom att lagra tid först klickar på och jämföra då till nuvarande tid. Om skillnaden är stor nog, måste börja spelet. Om knappen släpps innan spelet måste starta, ändras fraktion. Om du kolla koden, kommer du se att byta fraktion är ingenting annat än lagra olika sprites i första två teckenmellanrum (platser 0 och 1).
För att låta användaren switch fraktion som många gånger som han vill innan spelet börjar, hela funktionen omsluts "medan 1" Håll loop, som kör för evigt och knappen raster som slinga.
charSelect:while(1) {
om (buttonReady) {//onclickif (! digitalRead(buttonPin)) {
buttonReady = 0;
Tider = millis();
}
LCD.Clear();
}
annat {//on releaseif (millis ()-tider > 700) {
bryta; starta spelet
}
om (digitalRead(buttonPin)) {
buttonReady = 1;
y =! y;
IF(y) {
lcd.createChar(0,tieFighter1);
lcd.createChar(1,tieFighter2);
lcd.setCursor(0,1);
LCD.Print ("mörka sidan");
}
annat {
lcd.createChar(0,xWing1);
lcd.createChar(1,xWing2);
lcd.setCursor(0,1);
LCD.Print ("ljusa sidan");
}
}
}
animationif (millis ()-timeA > animationTime) {
timeA = millis();
fartyg =! fartyg;
gå till omritning;
lcd.setCursor(14,1);
LCD.write(ship);
lcd.setCursor (x,! y); //lcd.write(' ');
}
}