feat(core): Spider rules as a second card_game::Game implementation #157
Reference in New Issue
Block a user
Delete Branch "feat/spider-core"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Spider-mode groundwork in
solitaire_core, built on the upstreamcard_gamecontainers — first real use of the multi-deckDeckvariants and theStack/Pilepublic API.SpiderGameimplementscard_game::Game: 104-card two-deck deal (10 piles, 4×6+6×5, 50 in stock), build-down-any-suit, same-suit-run pickup, deal-10 gated on no empty pile, automatic K→A run removal with flip-up, win at 8 runs.SpiderSuits(One/Two/Four) difficulty viaGame::Config; Microsoft-style scoring (500 − moves + 100/run, undo penalty via the session).SpiderGameStatemirrors the KlondikeGameStateconventions:Result<_, MoveError>mutations (no new variants needed), session-owned undo/score.-D warnings, fmt clean.Known follow-ups (documented in module docs): engine UI is a later phase; 1/2-suit games contain identical
Cardvalues, so a Spider UI needs positional entity keys;Session::solvedeliberately not exposed for Spider (branching factor).🤖 Generated with Claude Code