moveForfunction
The move that carries the cards held at from to to, if the rules allow
exactly those cards there. A column gives up the one run that fits, so the
card held must be that run's foot: holding the 7 of a 9-8-7 and letting it
go on an 8 carries the 7, never the 9 that happens to fit somewhere.
Import it
import { moveFor } from "@johnmorrisdotca/toranpu/klondike";
Definition
function moveFor(table: KlondikeTable, from: TableSpot, to: KlondikePile): KlondikeMove | null
Parameters
| Name | Type | Description |
|---|---|---|
table | KlondikeTable | The native solitaire table; move helpers leave the input unchanged. |
from | TableSpot | The source position or source state specified by this API. |
to | KlondikePile | The destination position or state specified by this API. |
Returns
KlondikeMove | null
The matching legal carry, or null when exactly the held cards cannot move to that destination.
Examples
import { dealKlondike, dealOfSeed, deckOf, moveFor } from "@johnmorrisdotca/toranpu/klondike";
const table = dealKlondike(deckOf(dealOfSeed(42))!, { draw: 3, passes: 3 });
console.log(moveFor(table, { pile: "1", index: table.tableau[0]!.cards.length - 1 }, "2"));nullWhat it prints (run when this page was built)