From 33762f8629cd285c4bede817429b90264af87206 Mon Sep 17 00:00:00 2001 From: cerberus Date: Mon, 27 Oct 2025 18:05:30 +0100 Subject: [PATCH] debugging --- docs/game_flowchart.md | 63 +++++++++++++++++++++++------------------- 1 file changed, 34 insertions(+), 29 deletions(-) diff --git a/docs/game_flowchart.md b/docs/game_flowchart.md index a6323f7..05e1870 100644 --- a/docs/game_flowchart.md +++ b/docs/game_flowchart.md @@ -1,32 +1,37 @@ +# Game flowchart + ```mermaid flowchart TD - A[Start: play_round()] --> B[Deck mischen und Karten austeilen]; - B --> C[Spieler erhält 2 Karten, Dealer erhält 1 offen, 1 verdeckt]; - C --> D{Dealer offen Ass oder 10-Wert?}; - D -- Ja --> E{Dealer hat Blackjack?}; - E -- Ja --> F[Dealer deckt verdeckte Karte auf]; - F --> G{Spieler hat auch Blackjack?}; - G -- Ja --> P[PUSH (Unentschieden)]; - G -- Nein --> L[Spieler verliert]; - D -- Nein oder E -- Nein --> H[Spielerzug-Loop]; - H --> I{Spieler Hit oder Stand?}; - I -- Hit --> J[Spieler zieht Karte]; - J --> K{Spieler BUST (> 21)?}; - K -- Ja --> L; - K -- Nein --> H; - I -- Stand --> M[Spielerzug beendet]; - M --> N[Dealer deckt verdeckte Karte auf]; - N --> O{Dealer Handwert < 17?}; - O -- Ja --> P1[Dealer zieht Karte]; - P1 --> O; - O -- Nein --> Q{Dealer BUST (> 21)?}; - Q -- Ja --> W1[Spieler gewinnt 1:1]; - Q -- Nein --> R[Vergleich: compare_hands(Player vs Dealer)]; - R --> S{Spielerwert > Dealerwert?}; - S -- Ja --> W2[Spieler gewinnt (1:1 oder 3:2)]; - S -- Nein --> T{Spielerwert = Dealerwert?}; - T -- Ja --> P; - T -- Nein --> L; - - L & P & W1 & W2 --> Z[Ende: Chips aktualisieren, neue Runde?] + A[Start: play_round()] --> B[Shuffle deck and deal cards] + B --> C[Player gets 2 cards, Dealer gets 1 face-up, 1 face-down] + C --> D{Dealer's face-up card is Ace or 10-value?} + D -- Yes --> E{Does Dealer have Blackjack?} + E -- Yes --> F[Dealer reveals face-down card] + F --> G{Does Player also have Blackjack?} + G -- Yes --> P[PUSH (Tie)] + G -- No --> L[Player loses] + D -- No --> H[Player turn loop] + E -- No --> H + H --> I{Player chooses Hit or Stand?} + I -- Hit --> J[Player draws a card] + J --> K{Player BUST (> 21)?} + K -- Yes --> L[Player loses] + K -- No --> H + I -- Stand --> M[Player turn ends] + M --> N[Dealer reveals face-down card] + N --> O{Dealer hand value < 17?} + O -- Yes --> P1[Dealer draws a card] + P1 --> O + O -- No --> Q{Dealer BUST (> 21)?} + Q -- Yes --> W1[Player wins 1:1] + Q -- No --> R[Compare hands: Player vs Dealer] + R --> S{Player value > Dealer value?} + S -- Yes --> W2[Player wins (1:1 or 3:2)] + S -- No --> T{Player value = Dealer value?} + T -- Yes --> P[PUSH (Tie)] + T -- No --> L[Player loses] + L --> Z[End: Update chips, new round?] + P --> Z + W1 --> Z + W2 --> Z ```