From c5e4b1eb46c33d636e95f3dbbbdf0bb15ce5d2ef Mon Sep 17 00:00:00 2001 From: Scott Worley Date: Tue, 18 Jul 2023 13:00:26 -0700 Subject: [PATCH] Refactor momentum_player() for clarity --- src/lib.rs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index cae3132..c46aa7d 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -444,15 +444,14 @@ pub fn random_player(draw_chance: f64) -> Player { #[must_use] pub fn momentum_player(mut fallback: Player) -> Player { Player(Box::new(move |game: &Game| -> Play { - match (&game.phase, game.discard.top().and_then(Card::suit)) { - (Phase::Play, Some(suit)) => { - match game.current_player_hand().filter_by_suit(suit).random() { - Some(card) => Play::Play(*card), - _ => fallback.0(game), + if game.phase == Phase::Play { + if let Some(suit) = game.discard.top().and_then(Card::suit) { + if let Some(card) = game.current_player_hand().filter_by_suit(suit).random() { + return Play::Play(*card); } } - _ => fallback.0(game), } + fallback.0(game) })) } -- 2.44.1