forbidden jan not respected #37

Closed
opened 2026-04-15 17:39:02 +02:00 by henri · 0 comments
Owner

Event Move { player_id: 2, moves: (CheckerMove { from: 14, to: 8 }, CheckerMove { from: 5, to: 3 }) } validated on GameState { stage: InGame, turn_stage: Move, board: Board { positions: [0, 0, 0, 0, -1, 1, 3, 0, 3, 4, 1, 3, 0, -2, -5, -2, -1, -4, 0, 0, 0, 0, 0, 0] }, active_player_id: 2, players: {1: Player { name: "Host", color: White, points: 4, holes: 9, can_bredouille: false, can_big_bredouille: true, dice_roll_count: 19 }, 2: Player { name: "Guest", color: Black, points: 6, holes: 0, can_bredouille: true, can_big_bredouille: true, dice_roll_count: 19 }}, history: [BeginGame { goes_first: 1 }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (2, 4) } }, Move { player_id: 1, moves: (CheckerMove { from: 1, to: 3 }, CheckerMove { from: 3, to: 7 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (2, 3) } }, Move { player_id: 2, moves: (CheckerMove { from: 24, to: 21 }, CheckerMove { from: 24, to: 22 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (4, 5) } }, Move { player_id: 1, moves: (CheckerMove { from: 1, to: 6 }, CheckerMove { from: 6, to: 10 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (2, 1) } }, Move { player_id: 2, moves: (CheckerMove { from: 24, to: 23 }, CheckerMove { from: 24, to: 22 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (2, 6) } }, Move { player_id: 1, moves: (CheckerMove { from: 1, to: 3 }, CheckerMove { from: 3, to: 9 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (6, 3) } }, Move { player_id: 2, moves: (CheckerMove { from: 22, to: 19 }, CheckerMove { from: 24, to: 18 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (3, 3) } }, Move { player_id: 1, moves: (CheckerMove { from: 7, to: 10 }, CheckerMove { from: 1, to: 4 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (5, 3) } }, Move { player_id: 2, moves: (CheckerMove { from: 23, to: 18 }, CheckerMove { from: 24, to: 21 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (4, 6) } }, Move { player_id: 1, moves: (CheckerMove { from: 4, to: 10 }, CheckerMove { from: 1, to: 5 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (4, 3) } }, Move { player_id: 2, moves: (CheckerMove { from: 21, to: 18 }, CheckerMove { from: 19, to: 15 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (6, 2) } }, Move { player_id: 1, moves: (CheckerMove { from: 1, to: 7 }, CheckerMove { from: 7, to: 9 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (6, 5) } }, Move { player_id: 2, moves: (CheckerMove { from: 24, to: 19 }, CheckerMove { from: 24, to: 18 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (2, 3) } }, Move { player_id: 1, moves: (CheckerMove { from: 10, to: 12 }, CheckerMove { from: 9, to: 12 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (3, 5) } }, Move { player_id: 2, moves: (CheckerMove { from: 24, to: 21 }, CheckerMove { from: 19, to: 14 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (4, 5) } }, Move { player_id: 1, moves: (CheckerMove { from: 5, to: 9 }, CheckerMove { from: 1, to: 6 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (6, 4) } }, Move { player_id: 2, moves: (CheckerMove { from: 18, to: 14 }, CheckerMove { from: 24, to: 18 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (1, 6) } }, Move { player_id: 1, moves: (CheckerMove { from: 1, to: 7 }, CheckerMove { from: 6, to: 7 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (3, 5) } }, Move { player_id: 2, moves: (CheckerMove { from: 24, to: 21 }, CheckerMove { from: 22, to: 17 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (3, 1) } }, Move { player_id: 1, moves: (CheckerMove { from: 1, to: 4 }, CheckerMove { from: 4, to: 5 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (1, 1) } }, Move { player_id: 2, moves: (CheckerMove { from: 24, to: 23 }, CheckerMove { from: 15, to: 14 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (5, 1) } }, Move { player_id: 1, moves: (CheckerMove { from: 5, to: 10 }, CheckerMove { from: 1, to: 2 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (3, 2) } }, Move { player_id: 2, moves: (CheckerMove { from: 24, to: 22 }, CheckerMove { from: 22, to: 19 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (1, 2) } }, Move { player_id: 1, moves: (CheckerMove { from: 2, to: 4 }, CheckerMove { from: 4, to: 5 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (4, 4) } }, Move { player_id: 2, moves: (CheckerMove { from: 23, to: 19 }, CheckerMove { from: 19, to: 15 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (3, 5) } }, Move { player_id: 1, moves: (CheckerMove { from: 5, to: 10 }, CheckerMove { from: 1, to: 4 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (6, 1) } }, Move { player_id: 2, moves: (CheckerMove { from: 17, to: 16 }, CheckerMove { from: 21, to: 15 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (1, 1) } }, Move { player_id: 1, moves: (CheckerMove { from: 10, to: 11 }, CheckerMove { from: 11, to: 12 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (6, 4) } }, Move { player_id: 2, moves: (CheckerMove { from: 21, to: 17 }, CheckerMove { from: 21, to: 15 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (4, 2) } }, Move { player_id: 1, moves: (CheckerMove { from: 1, to: 5 }, CheckerMove { from: 5, to: 7 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (2, 2) } }, Move { player_id: 2, moves: (CheckerMove { from: 19, to: 17 }, CheckerMove { from: 17, to: 15 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (5, 3) } }, Move { player_id: 1, moves: (CheckerMove { from: 4, to: 7 }, CheckerMove { from: 1, to: 6 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (6, 3) } }, Move { player_id: 2, moves: (CheckerMove { from: 24, to: 21 }, CheckerMove { from: 24, to: 18 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (2, 5) } }, Move { player_id: 1, moves: (CheckerMove { from: 1, to: 3 }, CheckerMove { from: 1, to: 6 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (3, 5) } }, Move { player_id: 2, moves: (CheckerMove { from: 18, to: 15 }, CheckerMove { from: 21, to: 16 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (2, 4) } }, Move { player_id: 1, moves: (CheckerMove { from: 7, to: 9 }, CheckerMove { from: 6, to: 10 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (6, 3) } }, Move { player_id: 2, moves: (CheckerMove { from: 14, to: 11 }, CheckerMove { from: 11, to: 5 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (2, 6) } }, Move { player_id: 1, moves: (CheckerMove { from: 3, to: 9 }, CheckerMove { from: 9, to: 11 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (6, 2) } }], dice: Dice { values: (6, 2) }, dice_points: (6, 0), dice_moves: (CheckerMove { from: 3, to: 9 }, CheckerMove { from: 9, to: 11 }), dice_jans: {TrueHitSmallJan: [(CheckerMove { from: 14, to: 6 }, CheckerMove { from: 0, to: 0 })], TrueHitBigJan: [(CheckerMove { from: 17, to: 11 }, CheckerMove { from: 0, to: 0 })]}, roll_first: true, schools_enabled: false, debug_message: "" }

Event Move { player_id: 2, moves: (CheckerMove { from: 14, to: 8 }, CheckerMove { from: 5, to: 3 }) } validated on GameState { stage: InGame, turn_stage: Move, board: Board { positions: [0, 0, 0, 0, -1, 1, 3, 0, 3, 4, 1, 3, 0, -2, -5, -2, -1, -4, 0, 0, 0, 0, 0, 0] }, active_player_id: 2, players: {1: Player { name: "Host", color: White, points: 4, holes: 9, can_bredouille: false, can_big_bredouille: true, dice_roll_count: 19 }, 2: Player { name: "Guest", color: Black, points: 6, holes: 0, can_bredouille: true, can_big_bredouille: true, dice_roll_count: 19 }}, history: [BeginGame { goes_first: 1 }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (2, 4) } }, Move { player_id: 1, moves: (CheckerMove { from: 1, to: 3 }, CheckerMove { from: 3, to: 7 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (2, 3) } }, Move { player_id: 2, moves: (CheckerMove { from: 24, to: 21 }, CheckerMove { from: 24, to: 22 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (4, 5) } }, Move { player_id: 1, moves: (CheckerMove { from: 1, to: 6 }, CheckerMove { from: 6, to: 10 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (2, 1) } }, Move { player_id: 2, moves: (CheckerMove { from: 24, to: 23 }, CheckerMove { from: 24, to: 22 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (2, 6) } }, Move { player_id: 1, moves: (CheckerMove { from: 1, to: 3 }, CheckerMove { from: 3, to: 9 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (6, 3) } }, Move { player_id: 2, moves: (CheckerMove { from: 22, to: 19 }, CheckerMove { from: 24, to: 18 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (3, 3) } }, Move { player_id: 1, moves: (CheckerMove { from: 7, to: 10 }, CheckerMove { from: 1, to: 4 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (5, 3) } }, Move { player_id: 2, moves: (CheckerMove { from: 23, to: 18 }, CheckerMove { from: 24, to: 21 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (4, 6) } }, Move { player_id: 1, moves: (CheckerMove { from: 4, to: 10 }, CheckerMove { from: 1, to: 5 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (4, 3) } }, Move { player_id: 2, moves: (CheckerMove { from: 21, to: 18 }, CheckerMove { from: 19, to: 15 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (6, 2) } }, Move { player_id: 1, moves: (CheckerMove { from: 1, to: 7 }, CheckerMove { from: 7, to: 9 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (6, 5) } }, Move { player_id: 2, moves: (CheckerMove { from: 24, to: 19 }, CheckerMove { from: 24, to: 18 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (2, 3) } }, Move { player_id: 1, moves: (CheckerMove { from: 10, to: 12 }, CheckerMove { from: 9, to: 12 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (3, 5) } }, Move { player_id: 2, moves: (CheckerMove { from: 24, to: 21 }, CheckerMove { from: 19, to: 14 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (4, 5) } }, Move { player_id: 1, moves: (CheckerMove { from: 5, to: 9 }, CheckerMove { from: 1, to: 6 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (6, 4) } }, Move { player_id: 2, moves: (CheckerMove { from: 18, to: 14 }, CheckerMove { from: 24, to: 18 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (1, 6) } }, Move { player_id: 1, moves: (CheckerMove { from: 1, to: 7 }, CheckerMove { from: 6, to: 7 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (3, 5) } }, Move { player_id: 2, moves: (CheckerMove { from: 24, to: 21 }, CheckerMove { from: 22, to: 17 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (3, 1) } }, Move { player_id: 1, moves: (CheckerMove { from: 1, to: 4 }, CheckerMove { from: 4, to: 5 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (1, 1) } }, Move { player_id: 2, moves: (CheckerMove { from: 24, to: 23 }, CheckerMove { from: 15, to: 14 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (5, 1) } }, Move { player_id: 1, moves: (CheckerMove { from: 5, to: 10 }, CheckerMove { from: 1, to: 2 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (3, 2) } }, Move { player_id: 2, moves: (CheckerMove { from: 24, to: 22 }, CheckerMove { from: 22, to: 19 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (1, 2) } }, Move { player_id: 1, moves: (CheckerMove { from: 2, to: 4 }, CheckerMove { from: 4, to: 5 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (4, 4) } }, Move { player_id: 2, moves: (CheckerMove { from: 23, to: 19 }, CheckerMove { from: 19, to: 15 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (3, 5) } }, Move { player_id: 1, moves: (CheckerMove { from: 5, to: 10 }, CheckerMove { from: 1, to: 4 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (6, 1) } }, Move { player_id: 2, moves: (CheckerMove { from: 17, to: 16 }, CheckerMove { from: 21, to: 15 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (1, 1) } }, Move { player_id: 1, moves: (CheckerMove { from: 10, to: 11 }, CheckerMove { from: 11, to: 12 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (6, 4) } }, Move { player_id: 2, moves: (CheckerMove { from: 21, to: 17 }, CheckerMove { from: 21, to: 15 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (4, 2) } }, Move { player_id: 1, moves: (CheckerMove { from: 1, to: 5 }, CheckerMove { from: 5, to: 7 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (2, 2) } }, Move { player_id: 2, moves: (CheckerMove { from: 19, to: 17 }, CheckerMove { from: 17, to: 15 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (5, 3) } }, Move { player_id: 1, moves: (CheckerMove { from: 4, to: 7 }, CheckerMove { from: 1, to: 6 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (6, 3) } }, Move { player_id: 2, moves: (CheckerMove { from: 24, to: 21 }, CheckerMove { from: 24, to: 18 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (2, 5) } }, Move { player_id: 1, moves: (CheckerMove { from: 1, to: 3 }, CheckerMove { from: 1, to: 6 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (3, 5) } }, Move { player_id: 2, moves: (CheckerMove { from: 18, to: 15 }, CheckerMove { from: 21, to: 16 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (2, 4) } }, Move { player_id: 1, moves: (CheckerMove { from: 7, to: 9 }, CheckerMove { from: 6, to: 10 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (6, 3) } }, Move { player_id: 2, moves: (CheckerMove { from: 14, to: 11 }, CheckerMove { from: 11, to: 5 }) }, Roll { player_id: 1 }, RollResult { player_id: 1, dice: Dice { values: (2, 6) } }, Move { player_id: 1, moves: (CheckerMove { from: 3, to: 9 }, CheckerMove { from: 9, to: 11 }) }, Roll { player_id: 2 }, RollResult { player_id: 2, dice: Dice { values: (6, 2) } }], dice: Dice { values: (6, 2) }, dice_points: (6, 0), dice_moves: (CheckerMove { from: 3, to: 9 }, CheckerMove { from: 9, to: 11 }), dice_jans: {TrueHitSmallJan: [(CheckerMove { from: 14, to: 6 }, CheckerMove { from: 0, to: 0 })], TrueHitBigJan: [(CheckerMove { from: 17, to: 11 }, CheckerMove { from: 0, to: 0 })]}, roll_first: true, schools_enabled: false, debug_message: "" }
henri self-assigned this 2026-04-15 17:39:34 +02:00
henri added this to the Trictrac project 2026-04-15 17:39:39 +02:00
henri added this to the Jeu simple milestone 2026-04-15 17:39:47 +02:00
henri added the
Kind/Bug
Priority
Critical
labels 2026-04-15 17:40:32 +02:00
henri closed this issue 2026-04-15 22:27:49 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: henri/trictrac#37
No description provided.