Total Recall - Arduino Simon Says på steroider! (5 / 6 steg)
Steg 5: Skärpning koden
Samtidigt som det integrerar alternativet 2 player in i spelet jag insåg input() funktionen av båda alternativen där samma. Allt jag behövde göra var lägga till ett par rader kod i slutet av funktionen så spelet kan hantera turn räknar utifrån vilket spel spelas. För 1 spelare spelet skulle jämföra numrera av vänd till gränsen på turn och meddela spelaren som en vinnare om räknaren tur är större. För alternativet 2 player kontrollerar se till att spelarna inte kommer att överstiga 100 tur gränsen för spelet.
Nästa gick jag igenom koden för att hitta andra sätt att dra åt den. Jag insåg att helst en knapp drabbades eller en LED som behövs för att lätta de samma grundläggande kodrader används. Så jag skapade 4 funktioner att ringa till när en knapp trycktes eller spelet var belysning LED-lamporna för dig att memorera.
void button1() //LED visas och tonen lät för röd lysdiod och knapp 1
{
digitalWrite (ledpin [0], hög);
speakerpin.Play (NOTE_G3, 100);
Delay(200);
digitalWrite (ledpin [0], låg);
Delay(300);
}void button2()
{
digitalWrite (ledpin [1], hög);
speakerpin.Play (NOTE_A3, 100);
Delay(200);
digitalWrite (ledpin [1], låg);
Delay(300);
}void button3()
{
digitalWrite (ledpin [2], hög);
speakerpin.Play (NOTE_B3, 100);
Delay(200);
digitalWrite (ledpin [2], låg);
Delay(300);
}void button4()
{
digitalWrite (ledpin [3], hög);
speakerpin.Play (NOTE_C4, 100);
Delay(200);
digitalWrite (ledpin [3], låg);
Delay(300);
}
Allt som behövdes är en funktion per knapp/LED-färg. Helst en LED lampor eller knappen trycks lysdioden tänds, samma ton spelas och LED är avstängd. Dessa funktioner används 22 tid i hela koden. Att minska koden med ca 1000 byte.
Många andra lite tweaks och förändringar där gjorde under kodning processen som hjälper till att strama koden och göra det mer effektivt.