debugging

This commit is contained in:
2025-10-27 18:05:30 +01:00
parent 76596312e4
commit 33762f8629

View File

@@ -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
```