From 2020e967fc7a4f1af597cd82844ba820c603e681 Mon Sep 17 00:00:00 2001 From: fdai7727 Date: Thu, 25 Jan 2024 19:12:12 +0100 Subject: [PATCH] =?UTF-8?q?refactoring:=20Auslagern=20der=20Funktionalit?= =?UTF-8?q?=C3=A4t=20zu=20den=20Funktionen=20selectCOMChoice(),=20getWelco?= =?UTF-8?q?meMessage(),=20printResult()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/c/Tim/SchereSteinPapier.c | 46 +++++++++++++++++++++--------- 1 file changed, 32 insertions(+), 14 deletions(-) diff --git a/src/main/c/Tim/SchereSteinPapier.c b/src/main/c/Tim/SchereSteinPapier.c index 8c917ae..1117fba 100644 --- a/src/main/c/Tim/SchereSteinPapier.c +++ b/src/main/c/Tim/SchereSteinPapier.c @@ -3,13 +3,14 @@ #include #include +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!"); + } } \ No newline at end of file