You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

86 lines
2.2 KiB

#include "SchereSteinPapier.h"
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//Erstellen einer Random Nummer
int generateRandom() {
return rand() % 3;
}
//Festlegung des Gewinners
int determineWinner(int spielerWahl, int computerWahl) {
if ((spielerWahl == 0 && computerWahl == 2) ||
(spielerWahl == 1 && computerWahl == 0) ||
(spielerWahl == 2 && computerWahl == 1)) {
return 1; // Spieler gewinnt
}
else if (spielerWahl == computerWahl) {
return 0; // Unentschieden
}
else {
return -1; // Computer gewinnt
}
}
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("Ungueltige Auswahl. Bitte 0, 1 oder 2 eingeben.\n");
return 1; // Rueckgabe 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;
}