diff --git a/solitaire_core/src/game_state.rs b/solitaire_core/src/game_state.rs index 8b26a14..1c0c18a 100644 --- a/solitaire_core/src/game_state.rs +++ b/solitaire_core/src/game_state.rs @@ -193,7 +193,7 @@ impl GameState { is_auto_completable: false, undo_count: 0, recycle_count: 0, - take_from_foundation: false, + take_from_foundation: true, schema_version: GAME_STATE_SCHEMA_VERSION, undo_stack: VecDeque::new(), } @@ -1408,9 +1408,9 @@ mod tests { } #[test] - fn take_from_foundation_disabled_by_default() { + fn take_from_foundation_enabled_by_default() { let g = setup_take_from_foundation_game(); - assert!(!g.take_from_foundation, "take_from_foundation is off by default (non-standard rule)"); + assert!(g.take_from_foundation, "take_from_foundation is on by default (standard Klondike rule)"); } #[test] diff --git a/solitaire_wasm/src/lib.rs b/solitaire_wasm/src/lib.rs index 7cf436d..2eef52a 100644 --- a/solitaire_wasm/src/lib.rs +++ b/solitaire_wasm/src/lib.rs @@ -366,10 +366,9 @@ impl SolitaireGame { } else { DrawMode::DrawOne }; - let mut game = GameState::new_with_mode(seed as u64, dm, GameMode::Classic); - // The web client has no settings layer; enable standard Klondike rule unconditionally. - game.take_from_foundation = true; - SolitaireGame { game } + SolitaireGame { + game: GameState::new_with_mode(seed as u64, dm, GameMode::Classic), + } } /// Full pile snapshot as a JS object.