fix(core): make take_from_foundation true by default across all clients
The flag was modelled as an opt-in non-standard rule but moving a card off a foundation is in fact standard Klondike — disabling it is the non-standard variant. Changing the core default to true means every client (desktop, Android, web) gets correct behaviour without each having to independently patch the value after construction. Clients that expose a settings toggle (desktop/Android) can still disable it through SettingsResource. - game_state.rs: flip default from false → true in new_with_mode - game_state.rs: rename/update take_from_foundation_disabled_by_default test to reflect the new intended default - solitaire_wasm/lib.rs: remove now-redundant override in new() (from_saved keeps its override to fix old saves that serialised false) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -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]
|
||||
|
||||
Reference in New Issue
Block a user