Browse Source

refactoring: Auslagern der Funktionalität zu den Funktionen selectCOMChoice(), getWelcomeMessage(), printResult()

remotes/origin/tim
fdai7727 11 months ago
parent
commit
2020e967fc
  1. 46
      src/main/c/Tim/SchereSteinPapier.c

46
src/main/c/Tim/SchereSteinPapier.c

@ -3,13 +3,14 @@
#include <stdlib.h> #include <stdlib.h>
#include <time.h> #include <time.h>
char* getWelcomeMessageSSP();
int selectCOMChoice();
void printResult(int, int);
void schereSteinPapier() void schereSteinPapier()
{ {
srand(time(NULL)); srand(time(NULL));
printf("\nHallo und Willkommen zu Schere-Stein-Papier!\n\nIn diesem Spiel spielst du gegen einen COM Schere-Stein-Papier!\n"
"Waehle, sobald dich die Konsole dazu auffordert, deine 'Waffe' aus, indem du die entsprechende Zahl eintippst.\n"
"Gibst du bei der Aufforderung 0 ein, gelangst du zurueck ins Hauptmenue!\n\n");
printf("%s", getWelcomeMessageSSP());
while(1) while(1)
{ {
int comChoice, userChoice; int comChoice, userChoice;
@ -23,18 +24,9 @@ void schereSteinPapier()
} }
else if(userChoice == 1 || userChoice == 2 || userChoice == 3) else if(userChoice == 1 || userChoice == 2 || userChoice == 3)
{ {
comChoice = rand() % 3 + 1;
comChoice = selectCOMChoice();
int winNum = calculateWinner(userChoice, comChoice); int winNum = calculateWinner(userChoice, comChoice);
switch (winNum)
{
case(-1):printf("Der Computer hat %d gewaehlt, Du hast verloren!!!\n\n", comChoice);
break;
case(0): printf("Der Computer hat %d gewaehlt, Es steht unentschieden!!!\n\n", comChoice);
break;
case(1): printf("Der Computer hat %d gewaehlt, Du hast gewonnen!!!\n\n", comChoice);
break;
default: printf("Error!");
}
printResult(winNum, comChoice);
} }
else else
{ {
@ -83,4 +75,30 @@ int calculateWinner(int userSelection, int comSelection)
default: return 3; default: return 3;
} }
}
int selectCOMChoice()
{
return rand() % 3 + 1;
}
char* getWelcomeMessageSSP()
{
return "\nHallo und Willkommen zu Schere-Stein-Papier!\n\nIn diesem Spiel spielst du gegen einen COM Schere-Stein-Papier!\n"
"Waehle, sobald dich die Konsole dazu auffordert, deine 'Waffe' aus, indem du die entsprechende Zahl eintippst.\n"
"Gibst du bei der Aufforderung 0 ein, gelangst du zurueck ins Hauptmenue!\n\n";
}
void printResult(int winNumb, int comSelect)
{
switch (winNumb)
{
case(-1):printf("Der Computer hat %d gewaehlt, Du hast verloren!!!\n\n", comSelect);
break;
case(0): printf("Der Computer hat %d gewaehlt, Es steht unentschieden!!!\n\n", comSelect);
break;
case(1): printf("Der Computer hat %d gewaehlt, Du hast gewonnen!!!\n\n", comSelect);
break;
default: printf("Error!");
}
} }
Loading…
Cancel
Save