# include int TASTER = 8; // Summe der Augen der beiden Spieler int SummeSpieler1; int SummeSpieler2; // "Prallverhinderer" für die Tasten starten Bounce Taste_Start = Bounce(); // Namen der Spieler*innen String Spieler[2] = {"Lisa", "Karl"}; // Anzahl der Runden, Start mit 1 int Runde = 1; int Zahl; int TasterStatus; // Reihenfolge der Spieler festlegen, Spieler1 startet bool StartSpieler1 = true; bool StartSpieler2 = false; void setup() { pinMode(TASTER, INPUT_PULLUP); // Instanzen des Objekts Bounce für jede Taste zuordnen // Zeitintervall einstellen Taste_Start.attach(TASTER); Taste_Start.interval(20); Serial.begin(9600); // auf serielle Verbindung warten while (!Serial) {;} Serial.println("W\u00fcrfelspiel f\u00fcr zwei Spieler*innen"); Serial.println("-----------------------------------"); randomSeed(analogRead(0)); } void loop() { int Minimum = 1; int Maximum = 7; // 6 Runden spielen while (Runde < 7) { if (Taste_Start.update()) { if (Taste_Start.read() == LOW) { delay(200); Serial.println("Runde " + String(Runde)); Serial.println("---------------------------------"); // Spieler 1 ist an der Reihe // StartSpieler1 -> true if (StartSpieler1) { delay(200); // Aufruf der Funktion SummeSpieler1 = SummeSpieler1 + ZufallsZahl(Minimum, Maximum); Serial.println(Spieler[0] + " w\u00fcrfelt ..."); // Serial.println("Spielstand:"); // Serial.println(Spieler[0] + " " + String(SummeSpieler1) + " " + Spieler[1] + " " + String(SummeSpieler2)); // Serial.println("---------------------------------"); } // Spieler 2 ist an der Reihe // StartSpieler2 -> true if (StartSpieler2) { // Aufruf der Funktion SummeSpieler2 = SummeSpieler2 + ZufallsZahl(Minimum, Maximum); Serial.println(Spieler[1] + " w\u00fcrfelt ..."); // Serial.println("Spielstand:"); // Serial.println(Spieler[0] + " " + String(SummeSpieler1) + " " + Spieler[1] + " " + String(SummeSpieler2)); // Serial.println("---------------------------------"); // nur bei Spieler2 Runde hochzaehlen, Spieler1 hat angefangen Runde ++; } Serial.println("Spielstand:"); Serial.println(Spieler[0] + " " + String(SummeSpieler1) + " " + Spieler[1] + " " + String(SummeSpieler2)); Serial.println("---------------------------------"); // Wechsel -> Spieler1 ist an der Reihe StartSpieler1 = !StartSpieler1; StartSpieler2 = !StartSpieler2; } } } // unentschieden if (SummeSpieler1 == SummeSpieler2) { Serial.println("Unentschieden"); // alle Werte zuruecksetzen Runde = 1; SummeSpieler1 = 0; SummeSpieler2 = 0; } // Sieger Spieler1 if (SummeSpieler1 > SummeSpieler2) { Serial.println(Spieler[0] + " hat gewonnen"); // alle Werte zuruecksetzen Runde = 1; SummeSpieler1 = 0; SummeSpieler2 = 0; } // Sieger Spieler2 if (SummeSpieler1 < SummeSpieler2) { Serial.println(Spieler[1] + " hat gewonnen"); // alle Werte zuruecksetzen Runde = 1; SummeSpieler1 = 0; SummeSpieler2 = 0; } } int ZufallsZahl(int Minimum, int Maximum) { int Zahl = random(Minimum, Maximum); return Zahl; }