wip points rules

This commit is contained in:
Henri Bourcereau 2024-05-20 19:04:46 +02:00
parent 7790c07dcc
commit aff489f134
7 changed files with 62 additions and 10 deletions

View file

@ -1,6 +1,8 @@
mod bot;
use store::{CheckerMove, Color, Dice, GameEvent, GameState, Player, PlayerId, Stage, TurnStage};
use store::{
CheckerMove, Color, Dice, GameEvent, GameState, Player, PlayerId, PointsRules, Stage, TurnStage,
};
#[derive(Debug)]
pub struct Bot {
@ -55,7 +57,7 @@ impl Bot {
}),
TurnStage::MarkPoints => Some(GameEvent::Mark {
player_id: self.player_id,
points: 0,
points: self.calculate_points(),
}),
TurnStage::Move => Some(GameEvent::Move {
player_id: self.player_id,
@ -67,6 +69,10 @@ impl Bot {
None
}
fn calculate_points(&self) -> u8 {
self.game.get_points().iter().map(|r| r.0).sum()
}
fn choose_move(&self) -> (CheckerMove, CheckerMove) {
let (dice1, dice2) = match self.color {
Color::White => (self.game.dice.values.0 as i8, self.game.dice.values.1 as i8),