int PunktzahlSpieler = 0;
int PunktzahlComputer = 0;
int cont = 1;
void setup() {
Serial.begin(115200); //9600 Bits pro Sekunde = baud Umrechnungsfaktor hier 1000 und nicht 1024 auf Byte
if (cont == 1){
Serial.println("Wähle aus: 1 für Schere, 2 für Stein, 3 für Papier, 4 für Echse, 5 für Spock");
}
}
void loop() {
if (cont == 1) {
if(Serial.available()>0){
String Spielerwahl = Serial.readStringUntil('\n');
int Spieler = Spielerwahl.toInt();
// Computer wählt zufällig eine Option
int computer = random(1, 6);
// Spielerwahl & Computerwahl
Serial.print("Spielerwahl: ");
if(Spieler == 1) Serial.println("Schere");
else if(Spieler == 2) Serial.println("Stein");
else if(Spieler == 3) Serial.println("Papier");
else if(Spieler == 4) Serial.println("Echse");
else if(Spieler == 5) Serial.println("Spock");
else if(Spieler >5 || Spieler <0) Serial.println ("Eingabe ungültig");
else if(isAlpha(Spielerwahl.charAt(0))) Serial.println ("Eingabe ungültig");
else if(isdigit(Spieler)==false) Serial.println ("Eingabe ungültig");
if ((Spieler <6 && Spieler >0)){
Serial.print("Computerwahl: ");
if(computer == 1) Serial.println("Schere");
else if(computer == 2) Serial.println("Stein");
else if(computer == 3) Serial.println("Papier");
else if(computer == 4) Serial.println("Echse");
else if(computer == 5) Serial.println("Spock");
}
//Wer wann gewinnt
if(Spieler == computer) {
Serial.println("Unentschieden\n");
} else if (Spieler >5 || Spieler <1){
Serial.println("Wähle aus: 1 für Schere, 2 für Stein, 3 für Papier, 4 für Echse, 5 für Spock\n");
}
else if((Spieler == 1 && computer == 3) || (Spieler == 2 && computer == 1) || (Spieler == 3 && computer == 2) ||
(Spieler == 2 && computer == 4) || (Spieler == 1 && computer == 4) || (Spieler == 3 && computer == 5) ||
(Spieler == 5 && computer == 2) || (Spieler == 5 && computer == 1) || (Spieler == 4 && computer == 3) || (Spieler == 4 && computer == 5)){
Serial.println("Du hast diese Runde gewonnen");
PunktzahlSpieler++;
Serial.print("Spieler: ");
Serial.print(PunktzahlSpieler);
Serial.print(" Computer: ");
Serial.print(PunktzahlComputer);
Serial.println("\nWähle deine nächste Zahl. 1 für Schere, 2 für Stein, 3 für Papier, 4 für Echse, 5 für Spock\n");
}
else {
Serial.println("Du hast diese Runde verloren");
PunktzahlComputer++;
Serial.print("Spieler: ");
Serial.print(PunktzahlSpieler);
Serial.print(" Computer: ");
Serial.print(PunktzahlComputer);
Serial.println("\nWähle deine nächste Zahl. 1 für Schere, 2 für Stein, 3 für Papier, 4 für Echse, 5 für Spock\n");
}
// Gewinnerverkündung und Entscheidung über eine neue Runde
if (PunktzahlSpieler == 3 || PunktzahlComputer == 3) {
while (true) {
Serial.println("Willst du nochmal spielen? 6 für Ja, 7 für Nein");
while (!Serial.available()) {
delay(100);
}
String Spielerwahl = Serial.readStringUntil('\n');
int entscheidung = Spielerwahl.toInt();
if (entscheidung == 6) {
ESP.restart();
break;
} else if (entscheidung == 7) {
cont = 0;
Serial.println("Danke für das Spielen, ich fahre mich jetzt herunter");
break;
} else {
Serial.println("\nUngültige Eingabe. Bitte wähle 6 für Ja oder 7 für Nein\n");
}
}
}
}
}
}