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 <time.h>
char* getWelcomeMessageSSP();
int selectCOMChoice();
void printResult(int, int);
void schereSteinPapier()
{
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)
{
int comChoice, userChoice;
@ -23,18 +24,9 @@ void schereSteinPapier()
}
else if(userChoice == 1 || userChoice == 2 || userChoice == 3)
{
comChoice = rand() % 3 + 1;
comChoice = selectCOMChoice();
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
{
@ -83,4 +75,30 @@ int calculateWinner(int userSelection, int comSelection)
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