From 7619ce3c06b44751b6c22ed3b04a0d15a68e069f Mon Sep 17 00:00:00 2001
From: fdai7472 <langemann_stefan@web.de>
Date: Wed, 7 Feb 2024 10:08:07 +0100
Subject: [PATCH] refactoring: input innerhalb hit() nach userInputBJ()
 verlagert + Kommentare

---
 src/main/c/Stefan/blackjack.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/src/main/c/Stefan/blackjack.c b/src/main/c/Stefan/blackjack.c
index 842ec03..bc03803 100644
--- a/src/main/c/Stefan/blackjack.c
+++ b/src/main/c/Stefan/blackjack.c
@@ -89,7 +89,6 @@ int getRandCard(int offset){
 
 
 int playBJ(int bet, int balance){
-
     int winnings = 0;
     int userCardsTotal = 0, dealerCardsTotal = 0;
 
@@ -154,6 +153,7 @@ int playBJ(int bet, int balance){
 
                 dealerCardsTotal = calculateCardsTotal(dealerCardsArray, i);
 
+                // Wenn Dealer total < 17, muss er noch eine Karte ziehen
                 if(dealerCardsTotal < 17){
                     dealerCardsArray[i] = getRandCard(i);
                     printf("Dealer Card: %d\n", dealerCardsArray[i]);
@@ -162,35 +162,36 @@ int playBJ(int bet, int balance){
                 }
                 printf("Dealer Cards Total: %d\n", dealerCardsTotal);
 
+                // Wenn Dealer total > 17 und <= 21, dann keine Karte mehr ziehen
                 if(dealerCardsTotal >= 17 && dealerCardsTotal <= 21){
+                    // Überprüfen, wer gewonnen hat und entsprechend Gewinn berechnen
                     if(calculateIfYouWon(userCardsTotal, dealerCardsTotal)){
                         winnings = calculateWinnings(false, bet);
                     }
                     break;
                 }
 
+                // Wenn dealer total > 21, dann hat der Spieler gewonnen + Gewinn berechnen
                 if(dealerCardsTotal > 21){
                     printf("DEALER BUST\n\n");
                     winnings = calculateWinnings(false, bet);
                     break;
                 }
 
-
-
             }
 
-
-
-
+            // Speicher wieder freigeben/zurücksetzen
             free(userCardsArray);
         }
 
+        // Speicher wieder freigeben/zurücksetzen
         free(dealerCardsArray);
     }
 
     return balance + winnings;
 }
 
+// Wenn die ersten beiden Karten in Summe den Wert 21 haben, heißt das Blackjack
 bool checkForBlackjack(int userCardArray[]){
     if(userCardArray[0] + userCardArray[1] == 21){
         printf("BLACKJACK!\n\n");
@@ -200,10 +201,8 @@ bool checkForBlackjack(int userCardArray[]){
 }
 
 bool hit(){
-
-    int answer;
     printf("Hit (1) or stand (2): ");
-    scanf("%d", &answer);
+    int answer = userInputBJ();
 
     if(answer != 1){
         printf("You stand.\n\n");