diff --git a/store/src/game.rs b/store/src/game.rs index 9fe0c35..e5ac4f2 100644 --- a/store/src/game.rs +++ b/store/src/game.rs @@ -1,7 +1,8 @@ //! # Play a TricTrac Game -use crate::board::{Board, CheckerMove, Field, EMPTY_MOVE}; +use crate::board::{Board, CheckerMove}; use crate::dice::Dice; -use crate::game_rules_moves::{MoveError, MoveRules}; +use crate::game_rules_moves::MoveRules; +use crate::game_rules_points::PointsRules; use crate::player::{Color, Player, PlayerId}; use log::error; diff --git a/store/src/game_rules_points.rs b/store/src/game_rules_points.rs new file mode 100644 index 0000000..40195ab --- /dev/null +++ b/store/src/game_rules_points.rs @@ -0,0 +1,16 @@ +use crate::board::Board; +use crate::dice::Dice; + +#[derive(std::cmp::PartialEq, Debug)] +pub enum PointsRule { + FilledQuarter, +} + +pub trait PointsRules { + fn board(&self) -> &Board; + fn dice(&self) -> &Dice; + + fn get_points(&self) -> Vec<(u8, PointsRule)> { + Vec::new() + } +} diff --git a/store/src/lib.rs b/store/src/lib.rs index 435f562..336bf9d 100644 --- a/store/src/lib.rs +++ b/store/src/lib.rs @@ -1,5 +1,6 @@ mod game; mod game_rules_moves; +mod game_rules_points; pub use game::{EndGameReason, GameEvent, GameState, Stage, TurnStage}; mod player;