```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?] ```