Total Recall - Arduino Simon Says på steroider! (3 / 6 steg)
Steg 3: Menyn kodning
Många idéer där försökte och misslyckades. I slutändan är detta vad jag kom med. nedan är bara ett utdrag av koden visar du hur menyn fungerar.
void Menu() //menu display
{
LCD.Clear();
LCD.Print ("Sellect nummer");
lcd.setCursor(3,1);
LCD.Print ("av spelarna");
Delay(1500);
}void loop()
{//menu system för att välja 1 eller 2 spelare
om (spel == 0) //no spelet ut
{
LCD.Clear();för (int y = 0; y < 4; y ++)
{
lcd.setCursor(0,0);
LCD.Print ("1 spelare: RED");
lcd.setCursor(0,1);
LCD.Print ("2 spelare: gul");ButtonState = digitalRead(button[y]);
om (buttonstate == låg & & knappen [y] == 2)
{
button1(); samtal för den röda knappen LED ljus och tonen att spela
spel = 1; 1 player spel
}om (buttonstate == låg & & knappen [y] == 3)
{
button2(); samtal för den gula knappen LED ljus och tonen att spela
spel = 2; 2 spelare
}
}
}om (spel == 1 & & turnlimit > 1) //as länge 1 slå har tagits i de 1 spelaren spel
{
play1(); samtal till 1 spelare spelet
}om (spel == 1 & & turnlimit < 1) //no varv har tagits i 1 player spel
{
play1menu(); samtal till menyn välja antal varv för 1 spelare spel
}om (spel == 2)
{
Play2(); samtal till 2 spelare
}
}void play1menu() //menu för att välja 1 spelare svårigheter
{
LCD.Clear();
LCD.Print ("röda = 10 gul = 20");
lcd.setCursor(0,1);
LCD.Print ("grön = 30 blå = 40");
Delay(100);för (int y = 0; y < 4; y ++)
{
ButtonState = digitalRead(button[y]);
om (buttonstate == låg & & knappen [y] == 2)
{
button1(); samtal för den röda knappen LED ljus och tonen att spela
turnlimit = 10; Anger antalet varv
}om (buttonstate == låg & & knappen [y] == 3)
{
button2();
turnlimit = 20;
}om (buttonstate == låg & & knappen [y] == 4)
{
button3();
turnlimit = 30.
}om (buttonstate == låg & & knappen [y] == 5)
{
Button4();
turnlimit = 40;
}
}
}
Void Menu() är början på menysystemet. Spelets namn display händer i void setup(). När installationen är klar det samtal direkt till ogiltiga Menu() sedan startar i på ogiltiga loop(). I void loop() använde jag flera variabler att hålla reda på statligt av koden. Exempel vilka spel som spelas. Så att allt annat kan passeras och spelet kan fortsätta. Om den enda spelare väljs hoppar ner till ogiltiga play1menu() där dina svårigheter välja. Svårigheten ligger numrera av vänd du vill spela och lagras som turnlimit.