diff --git a/clients/web/src/game/components/board.rs b/clients/web/src/game/components/board.rs index 7590f25..b5f6c8f 100644 --- a/clients/web/src/game/components/board.rs +++ b/clients/web/src/game/components/board.rs @@ -286,7 +286,7 @@ pub fn Board( let is_white = player_id == 0; let hovered_moves = use_context::>>(); - // Exit-eligible (ยง8c): all the player's checkers are in their last jan. + // Exit-eligible: all the player's checkers are in their last jan. // White last jan = fields 19-24 (board indices 18-23, positive values). // Black last jan = fields 1-6 (board indices 0-5, negative values). let board_snapshot = view_state.board; @@ -453,13 +453,14 @@ pub fn Board( } else { let origins = valid_origins_for(&seqs_k, &staged); if origins.iter().any(|&o| o == field_num) { - let dests = valid_dests_for(&seqs_k, &staged, field_num); - if !dests.is_empty() && dests.iter().all(|&d| d == 0) { - // All destinations are exits: auto-stage - staged_moves.update(|v| v.push((field_num, 0))); - } else { - selected_origin.set(Some(field_num)); - } + selected_origin.set(Some(field_num)); + // let dests = valid_dests_for(&seqs_k, &staged, field_num); + // if !dests.is_empty() && dests.iter().all(|&d| d == 0) { + // // All destinations are exits: auto-stage + // staged_moves.update(|v| v.push((field_num, 0))); + // } else { + // selected_origin.set(Some(field_num)); + // } } } } @@ -693,5 +694,7 @@ mod tests { fn test_bar_matched_dice_used() { assert_eq!((true, false), bar_matched_dice_used(&[(22, 24)], (2, 3))); assert_eq!((false, true), bar_matched_dice_used(&[(22, 0)], (2, 3))); + assert_eq!((false, true), bar_matched_dice_used(&[(24, 0)], (5, 1))); + assert_eq!((true, false), bar_matched_dice_used(&[(24, 0)], (1, 5))); } }