fix(web): auto-complete now works with cards remaining in waste
check_auto_complete no longer requires the waste pile to be empty — only the stock must be exhausted and all tableau cards face-up. next_auto_complete_move checks the waste top card before scanning tableau, and auto_complete_step falls back to draw() when no direct foundation move is available so the waste drains automatically. Fixes the end-game state where the player could see a clear win but the auto-complete interval never fired because the waste was non-empty. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
/* @ts-self-types="./solitaire_wasm.d.ts" */
|
||||
|
||||
/**
|
||||
* Browser-side replay state machine. Owns a live `GameState` and the
|
||||
* replay's move list; each `step()` applies the next move.
|
||||
@@ -92,7 +94,10 @@ export class SolitaireGame {
|
||||
}
|
||||
/**
|
||||
* Apply one auto-complete move (only valid when `is_auto_completable`).
|
||||
* Returns the post-move snapshot or `null` when auto-complete is unavailable.
|
||||
*
|
||||
* If no card can go directly to a foundation this step, advances the
|
||||
* waste by calling `draw()` so the next step can try again. Returns the
|
||||
* post-move snapshot, or `null` when no progress is possible.
|
||||
* @returns {any}
|
||||
*/
|
||||
auto_complete_step() {
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user