wip points rules
This commit is contained in:
parent
7790c07dcc
commit
aff489f134
7 changed files with 62 additions and 10 deletions
|
|
@ -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),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue