diff --git a/src/SchereSteinPapier.c b/src/SchereSteinPapier.c index 7b58b07..d2cf40e 100644 --- a/src/SchereSteinPapier.c +++ b/src/SchereSteinPapier.c @@ -1 +1,68 @@ #include "SchereSteinPapier.h" +#include +#include +#include + + + +int run_scheresteinpapier() { + srand((unsigned int)time(NULL)); + + int runden; + printf("Anzahl der Runden (1, 3 oder 5) waehlen: "); + scanf("%d", &runden); + + if (runden != 1 && runden != 3 && runden != 5) { + printf("Ungueltige Anzahl der Runden. Bitte 1, 3 oder 5 eingeben.\n"); + return 1; // Rueckgabe mit Fehlercode + } + + int spielerPunkte = 0; + int computerPunkte = 0; + + for (int runde = 1; runde <= runden; ++runde) { + printf("\n--- Runde %d ---\n", runde); + + int spielerWahl; + printf("Schere (0), Stein (1) oder Papier (2) waehlen: "); + scanf("%d", &spielerWahl); + + if (spielerWahl < 0 || spielerWahl > 2) { + printf("Ungültige Auswahl. Bitte 0, 1 oder 2 eingeben.\n"); + return 1; // Rückgabe mit Fehlercode + } + + int computerWahl = generateRandom(); + int ergebnis = determineWinner(spielerWahl, computerWahl); + + printf("Computer waehlt: %d\n", computerWahl); + + if (ergebnis == 1) { + printf("Gewonnen!\n"); + spielerPunkte++; + } + else if (ergebnis == 0) { + printf("Unentschieden!\n"); + } + else { + printf("Verloren!\n"); + computerPunkte++; + } + } + + printf("\n--- Endergebnis ---\n"); + printf("Spielerpunkte: %d\n", spielerPunkte); + printf("Computerpunkte: %d\n", computerPunkte); + + if (spielerPunkte > computerPunkte) { + printf("Du hast das Spiel gewonnen!\n"); + } + else if (spielerPunkte < computerPunkte) { + printf("Du hast das Spiel verloren.\n"); + } + else { + printf("Das Spiel endet unentschieden.\n"); + } + + return 0; +}