void loop() { // Minimum und Maximum der Würfelaugen int Minimum = 1; int Maximum = 7; // 6 Runden spielen while (Runde < 4) { // Spieler*in 1 ist an der Reihe StartSpieler1 -> true if (StartSpieler1) { // Taste 1 gedrückt if (SP1.update()) { if (SP1.read() == LOW) { // Wechsel → Spieler2 ist an der Reihe StartSpieler1 = !StartSpieler1; StartSpieler2 = !StartSpieler2; Anzeige.clearScreen(); // Aufruf der Funktion ZufallsZahl SummeSpieler1 = SummeSpieler1 + ZufallsZahl(Minimum, Maximum); // : einschalten Anzeige.colonOn(); /* Ergebnis formatieren: beide Zahlen < 10 -> führende 0 setzen eine der Zahlen < 10 -> führende 0 setzen */ if (SummeSpieler1 < 10 && SummeSpieler2 < 10) Ergebnis = "0" + String(SummeSpieler1) + "0" + String(SummeSpieler2); else if (SummeSpieler1 >= 10 && SummeSpieler2 >= 10) Ergebnis = String(SummeSpieler1) + String(SummeSpieler2); else if (SummeSpieler1 < 10) Ergebnis = "0" + String(SummeSpieler1) + String(SummeSpieler2); else if (SummeSpieler2 < 10 ) Ergebnis = String(SummeSpieler1) + "0" + String(SummeSpieler2); Anzeige.display(Ergebnis); delay(2000); // : ausschalten Anzeige.colonOff(); Anzeige.display("SP-2"); } } } // Spieler*in 2 ist an der Reihe StartSpieler2 → true if (StartSpieler2) { // Taste 1 gedrückt if (SP2.update()) { if (SP2.read() == LOW) { // Wechsel → Spieler1 ist an der Reihe StartSpieler1 = !StartSpieler1; StartSpieler2 = !StartSpieler2; Anzeige.clearScreen(); // Aufruf der Funktion ZufallsZahl SummeSpieler2 = SummeSpieler2 + ZufallsZahl(Minimum, Maximum); Anzeige.colonOn(); if (SummeSpieler1 < 10 && SummeSpieler2 < 10) Ergebnis = "0" + String(SummeSpieler1) + "0" + String(SummeSpieler2); else if (SummeSpieler1 >= 10 && SummeSpieler2 >= 10) Ergebnis = String(SummeSpieler1) + String(SummeSpieler2); else if (SummeSpieler1 < 10) Ergebnis = "0" + String(SummeSpieler1) + String(SummeSpieler2); else if (SummeSpieler2 < 10 ) Ergebnis = String(SummeSpieler1) + "0" + String(SummeSpieler2); Anzeige.display(Ergebnis); delay(2000); Anzeige.colonOff(); Anzeige.clearScreen(); Anzeige.display("SP-1"); // nur bei Spieler2 Runde hochzählen, Spieler1 hat angefangen Runde ++; } } } } // unentschieden if (SummeSpieler1 == SummeSpieler2) { Anzeige.clearScreen(); Anzeige.display(" = ="); delay(2000); // alle Werte zurücksetzen Runde = 1; SummeSpieler1 = 0; SummeSpieler2 = 0; Anzeige.clearScreen(); Anzeige.display("SP-1"); } // Sieger Spieler1 if (SummeSpieler1 > SummeSpieler2) { Anzeige.display("SIEG"); delay(2000); Anzeige.clearScreen(); Anzeige.display("SP-1"); delay(2000); // Punktestand anzeigen Anzeige.clearScreen(); // Anzeige rechtsbündig formatieren if (SummeSpieler1 < 10) Anzeige.display(SummeSpieler1, false, false, 3); else Anzeige.display(SummeSpieler1, false, false, 2); delay(2000); // Neustart: alle Werte zurücksetzen, SP-1 anzeigen Runde = 1; SummeSpieler1 = 0; SummeSpieler2 = 0; Anzeige.clearScreen(); Anzeige.display("SP-1"); } // Sieger Spieler2 if (SummeSpieler1 < SummeSpieler2) { Anzeige.display("SIEG"); delay(2000); Anzeige.clearScreen(); Anzeige.display("SP-2"); delay(2000); Anzeige.clearScreen(); if (SummeSpieler2 < 10) Anzeige.display(SummeSpieler2, false, false, 3); else Anzeige.display(SummeSpieler2, false, false, 2); delay(2000); // Neustart: alle Werte zurücksetzen, SP-1 anzeigen Runde = 1; SummeSpieler1 = 0; SummeSpieler2 = 0; Anzeige.clearScreen(); Anzeige.display("SP-1"); } }