Stap 3: Menu codering
Vele ideeën waar geprobeerd en mislukt. Uiteindelijk is dit wat ik kwam met. hieronder slechts een fragment van de code toont u hoe het menu werkt.
ongeldig Menu() //menu display
{
LCD.Clear();
LCD.Print ("Sellect nummer");
lcd.setCursor(3,1);
LCD.Print ("van spelers");
delay(1500);
}
void loop
{//menu systeem voor het selecteren van 1 of 2 spelerspel
Als (spel == 0) spel van de //no geselecteerd
{
LCD.Clear();
voor (int y = 0; y < 4; y ++)
{
lcd.setCursor(0,0);
LCD.Print ("1 speler: RED");
lcd.setCursor(0,1);
LCD.Print ("speler 2: geel");
buttonstate = digitalRead(button[y]);
Als (buttonstate == LOW & & knop [y] == 2)
{
Button1(); verlangt dat de rode knop LED licht en Toon om te spelen
spel = 1; 1 spelerspel
}
Als (buttonstate == LOW & & knop [y] == 3)
{
Button2(); verlangt dat de gele knop LED licht en Toon om te spelen
spel = 2; spel voor 2 spelers
}
}
}
Als (spel == 1 & & turnlimit > 1) //as zolang 1 zet heeft genomen in de 1-speler spel
{
play1(); dringt erop aan dat het 1 spelerspel
}
Als (spel == 1 & & turnlimit < 1) //no bochten zijn genomen in de 1-speler spel
{
play1menu(); oproepen naar het menu selecteert u aantal draait voor 1 speler duel
}
Als (spel == 2)
{
play2(); dringt erop aan dat spel voor 2 spelers
}
}ongeldig play1menu() //menu voor het selecteren van 1 speler moeite
{
LCD.Clear();
LCD.Print ("rood = 10 geel = 20");
lcd.setCursor(0,1);
LCD.Print ("Green = 30 blauw = 40");
delay(100);
voor (int y = 0; y < 4; y ++)
{
buttonstate = digitalRead(button[y]);
Als (buttonstate == LOW & & knop [y] == 2)
{
Button1(); verlangt dat de rode knop LED licht en Toon om te spelen
turnlimit = 10; Hiermee stelt u het aantal bochten
}
Als (buttonstate == LOW & & knop [y] == 3)
{
Button2();
turnlimit = 20;
}
Als (buttonstate == LOW & & knop [y] == 4)
{
Button3();
turnlimit = 30;
}
Als (buttonstate == LOW & & knop [y] == 5)
{
Button4();
turnlimit = 40;
}
}
}
De void Menu() is het begin van het menusysteem. Het spel van de naam display gebeurt in de void setup. Wanneer de setup voltooid is het roept direct naar ongeldig Menu() dan begint op de void loop. In de void loop gebruikte ik meerdere variabelen voor het bijhouden van de status van de code. Als die spel gespeeld wordt. Dus dat alles kan worden omzeild en u kunt verdergaan met het huidige spel. Als de singleplayer spel is geselecteerd hij springt naar ongeldig play1menu() waar je de mogelijkheid geboden de moeilijkheid. De moeilijkheid ligt aan het aantal draaiingen u wilt spelen en opgeslagen als turnlimit.