fix(cxxengine): catch errors

This commit is contained in:
Henri Bourcereau 2026-03-02 16:10:30 +01:00
parent 4ea4b1249b
commit 1861494048

View file

@ -98,7 +98,9 @@ pub fn new_trictrac_engine() -> Box<TricTracEngine> {
let mut game_state = GameState::new(false); // schools_enabled = false let mut game_state = GameState::new(false); // schools_enabled = false
game_state.init_player("player1"); game_state.init_player("player1");
game_state.init_player("player2"); game_state.init_player("player2");
game_state.consume(&GameEvent::BeginGame { goes_first: 1 }); game_state
.consume(&GameEvent::BeginGame { goes_first: 1 })
.expect("BeginGame failed during engine initialization");
Box::new(TricTracEngine { game_state }) Box::new(TricTracEngine { game_state })
} }
@ -189,7 +191,8 @@ impl TricTracEngine {
values: (dice.die1, dice.die2), values: (dice.die1, dice.die2),
}; };
self.game_state self.game_state
.consume(&GameEvent::RollResult { player_id, dice }); .consume(&GameEvent::RollResult { player_id, dice })
.map_err(|e| anyhow::anyhow!(e))?;
Ok(()) Ok(())
} }
@ -208,7 +211,9 @@ impl TricTracEngine {
match event { match event {
Some(evt) if self.game_state.validate(&evt) => { Some(evt) if self.game_state.validate(&evt) => {
self.game_state.consume(&evt); self.game_state
.consume(&evt)
.map_err(|e| anyhow::anyhow!(e))?;
Ok(()) Ok(())
} }
Some(evt) => anyhow::bail!( Some(evt) => anyhow::bail!(