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
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;
|
|
}
|