From bf5f289720a34e1b618739da2b10bd34f0448877 Mon Sep 17 00:00:00 2001 From: Nick Pegg Date: Fri, 11 Jul 2025 16:59:09 -0700 Subject: [PATCH] both having blackjack should be a tie --- src/game.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/game.rs b/src/game.rs index 84d4d54..405f5d5 100644 --- a/src/game.rs +++ b/src/game.rs @@ -228,12 +228,12 @@ impl Table { returns: 0, }; #[allow(clippy::if_same_then_else)] - if self.dealer_hand.is_blackjack() { - end_state.result = PlayResult::DealerBlackjack; - } else if turn.hand.is_blackjack() { + if turn.hand.is_blackjack() && !self.dealer_hand.is_blackjack() { end_state.result = PlayResult::Blackjack; - let bj_winnings = (turn.bet as f32 * self.blackjack_returns) as u32; - end_state.returns = turn.bet + bj_winnings; + let winnings = (turn.bet as f32 * self.blackjack_returns) as u32; + end_state.returns = turn.bet + winnings; + } else if !turn.hand.is_blackjack() && self.dealer_hand.is_blackjack() { + end_state.result = PlayResult::DealerBlackjack; } else if turn.hand.value() > 21 { end_state.result = PlayResult::Bust; } else if self.dealer_hand.value() > 21 { @@ -494,8 +494,8 @@ mod tests { Vec::from([("♣", "A"), ("♣", "10")]), ) .unwrap(); - assert_eq!(result.result, PlayResult::DealerBlackjack); - assert_eq!(result.returns, 0); + assert_eq!(result.result, PlayResult::Push); + assert_eq!(result.returns, 10); } #[test]