From 6e8c1f6dbddac8e26d8b4931ead977ad8e83e117 Mon Sep 17 00:00:00 2001 From: Henri Bourcereau Date: Fri, 27 Sep 2024 15:31:14 +0200 Subject: [PATCH 1/4] =?UTF-8?q?feat:=20relev=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- store/src/game.rs | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/store/src/game.rs b/store/src/game.rs index 2d85873..7b0b86b 100644 --- a/store/src/game.rs +++ b/store/src/game.rs @@ -302,7 +302,7 @@ impl GameState { } // Check the turn stage if self.turn_stage != TurnStage::HoldOrGoChoice - || self.turn_stage != TurnStage::Move + && self.turn_stage != TurnStage::Move { return false; } @@ -453,15 +453,20 @@ impl GameState { /// Set a new pick up ('relevé') after a player won a hole and choose to 'go', /// or after a player has bore off (took of his men off the board) fn new_pick_up(&mut self) { - // réinitialisation dice_roll_count - self.players.iter_mut().map(|(id, p)| p.dice_roll_count = 0); - // joueur actif = joueur ayant sorti ses dames (donc deux jeux successifs) + self.players.iter_mut().for_each(|(_id, p)| { + // reset points + p.points = 0; + // reset dice_roll_count + p.dice_roll_count = 0; + // reset bredouille + p.can_bredouille = true; + // switch colors + p.color = p.color.opponent_color(); + }); + // joueur actif = joueur ayant sorti ses dames ou est parti (donc deux jeux successifs) self.turn_stage = TurnStage::RollDice; - - // TODO: - // - échanger les couleurs - // - remettre les dames des deux joueurs aux talons - // - jeton bredouille replaçé sur joueur actif (?) + // reset board + self.board = Board::new(); } fn get_rollresult_points(&self, dice: &Dice) -> (u8, u8) { From 012fe306117a9e326cd59fd1ae5d0294579c97c7 Mon Sep 17 00:00:00 2001 From: Henri Bourcereau Date: Fri, 27 Sep 2024 14:38:12 +0200 Subject: [PATCH 2/4] =?UTF-8?q?doc:=20r=C3=AAveries?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/traité.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/doc/traité.md b/doc/traité.md index 19fc711..1908a80 100644 --- a/doc/traité.md +++ b/doc/traité.md @@ -1,3 +1,5 @@ +# traité + En 12 chapitres (trous) de 12 sous-chapitres (points / niveaux de compréhension) ? Célébration -> s'inspirer du _petit traité invitant à la découverte de l'art subtil du go_ @@ -30,3 +32,9 @@ L'encyclopédie - le dictionnaire du trictrac - fabriquer un boîtier/plateau de jeu - jouer en ligne + +## rêveries + +Trictrac : un domaine grand et complexe, un univers dans lequel on peut s'absorber. Un jeu geek parfait. Qui a la noblesse d'avoir été populaire, qui a la noblesse de règles nécessitant apprentissage et presse companionage. +Pourquoi s'investir dans ce genre d'activité ? Toucher un absolu. Sauver de la mort une pépite. Entrer dans le monde des morts comme Orphée ou Ulysse ? +Et maîtriser un vocabulaire, des gestes, des règles de plus en plus fine, discutées au fil des siècles. From fb3e2678fc0a8818961e1b9d7b453dd22d07c6f5 Mon Sep 17 00:00:00 2001 From: Henri Bourcereau Date: Fri, 27 Sep 2024 15:31:14 +0200 Subject: [PATCH 3/4] =?UTF-8?q?feat:=20relev=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- store/src/game.rs | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/store/src/game.rs b/store/src/game.rs index 2d85873..6f60b05 100644 --- a/store/src/game.rs +++ b/store/src/game.rs @@ -301,8 +301,8 @@ impl GameState { return false; } // Check the turn stage - if self.turn_stage != TurnStage::HoldOrGoChoice - || self.turn_stage != TurnStage::Move + if self.turn_stage != TurnStage::Move + && self.turn_stage != TurnStage::HoldOrGoChoice { return false; } @@ -453,15 +453,20 @@ impl GameState { /// Set a new pick up ('relevé') after a player won a hole and choose to 'go', /// or after a player has bore off (took of his men off the board) fn new_pick_up(&mut self) { - // réinitialisation dice_roll_count - self.players.iter_mut().map(|(id, p)| p.dice_roll_count = 0); - // joueur actif = joueur ayant sorti ses dames (donc deux jeux successifs) + self.players.iter_mut().for_each(|(_id, p)| { + // reset points + p.points = 0; + // reset dice_roll_count + p.dice_roll_count = 0; + // reset bredouille + p.can_bredouille = true; + // switch colors + p.color = p.color.opponent_color(); + }); + // joueur actif = joueur ayant sorti ses dames ou est parti (donc deux jeux successifs) self.turn_stage = TurnStage::RollDice; - - // TODO: - // - échanger les couleurs - // - remettre les dames des deux joueurs aux talons - // - jeton bredouille replaçé sur joueur actif (?) + // reset board + self.board = Board::new(); } fn get_rollresult_points(&self, dice: &Dice) -> (u8, u8) { From b624629cadfb8e5f9a3c32decabb690f0eb3c822 Mon Sep 17 00:00:00 2001 From: Henri Bourcereau Date: Fri, 27 Sep 2024 14:38:12 +0200 Subject: [PATCH 4/4] =?UTF-8?q?doc:=20r=C3=AAveries?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/traité.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/doc/traité.md b/doc/traité.md index 19fc711..1908a80 100644 --- a/doc/traité.md +++ b/doc/traité.md @@ -1,3 +1,5 @@ +# traité + En 12 chapitres (trous) de 12 sous-chapitres (points / niveaux de compréhension) ? Célébration -> s'inspirer du _petit traité invitant à la découverte de l'art subtil du go_ @@ -30,3 +32,9 @@ L'encyclopédie - le dictionnaire du trictrac - fabriquer un boîtier/plateau de jeu - jouer en ligne + +## rêveries + +Trictrac : un domaine grand et complexe, un univers dans lequel on peut s'absorber. Un jeu geek parfait. Qui a la noblesse d'avoir été populaire, qui a la noblesse de règles nécessitant apprentissage et presse companionage. +Pourquoi s'investir dans ce genre d'activité ? Toucher un absolu. Sauver de la mort une pépite. Entrer dans le monde des morts comme Orphée ou Ulysse ? +Et maîtriser un vocabulaire, des gestes, des règles de plus en plus fine, discutées au fil des siècles.