From be027c8ec49d89b2fe5703cd4367d648df77fc6e Mon Sep 17 00:00:00 2001 From: Henri Bourcereau Date: Wed, 6 Aug 2025 17:33:26 +0200 Subject: [PATCH] wip debug default bot mirror --- bot/src/lib.rs | 14 +++++++++++++- store/src/game.rs | 6 +++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/bot/src/lib.rs b/bot/src/lib.rs index 06e660d..f101357 100644 --- a/bot/src/lib.rs +++ b/bot/src/lib.rs @@ -71,6 +71,8 @@ impl Bot { event }; + let init_player_points = game.who_plays().map(|p| p.points); + let turn_stage = game.turn_stage; game.consume(internal_event); if game.stage == Stage::Ended { return None; @@ -85,6 +87,13 @@ impl Bot { game.active_player_id }; if active_player_id == self.player_id { + let player_points = game.who_plays().map(|p| p.points); + if self.color == Color::Black { + println!( + " input evt : {:?}, {:?}, {:?}", + internal_event, init_player_points, turn_stage + ); + } let internal_event = match game.turn_stage { TurnStage::MarkAdvPoints => Some(GameEvent::Mark { player_id: 1, @@ -112,7 +121,10 @@ impl Bot { _ => None, }; return if self.color == Color::Black { - println!(" evt : {:?}", internal_event); + println!( + " bot evt : {:?} - {:?}", + internal_event, player_points + ); internal_event.map(|evt| evt.get_mirror()) } else { internal_event diff --git a/store/src/game.rs b/store/src/game.rs index 32697ee..9e43be7 100644 --- a/store/src/game.rs +++ b/store/src/game.rs @@ -377,10 +377,12 @@ impl GameState { } // Check player is currently the one making their move if self.active_player_id != *player_id { + error!("Player not active : {}", self.active_player_id); return false; } // Check the player can leave (ie the game is in the KeepOrLeaveChoice stage) if self.turn_stage != TurnStage::HoldOrGoChoice { + error!("bad stage {:?}", self.turn_stage); return false; } } @@ -517,7 +519,9 @@ impl GameState { // the points earned by the opponent will be marked on its turn let new_hole = self.mark_points(self.active_player_id, self.dice_points.0); if new_hole { - if self.get_active_player().unwrap().holes > 12 { + let holes_count = self.get_active_player().unwrap().holes; + println!("new hole -> {:?}", holes_count); + if holes_count > 12 { self.stage = Stage::Ended; } else { self.turn_stage = TurnStage::HoldOrGoChoice;