runTakefunction
Take a pair at at: the new game, or null where the rules do not allow it (the game is over, or the two are not a
pair that may be taken). A pair taken after the time ran out loses the game instead. Scores the pair with its combo,
adds the time the challenge gives, moves the spark on, and judges whether the game is won or lost.
Import it
import { runTake } from "@johnmorrisdotca/jarajara/awase";
Definition
function runTake(run: AwaseRun, a: number, b: number, at: number): AwaseRun | null
Parameters
| Name | Type | Description |
|---|---|---|
run | AwaseRun | The current immutable native challenge run. |
a | number | The first tile slot or code specified by this signature. |
b | number | The second tile slot or code specified by this signature. |
at | number | The supplied time in milliseconds, or the zero-based seat index specified by the signature. |
Returns
AwaseRun | null
Take a pair at at: the new game, or null where the rules do not allow it (the game is over, or the two are not a pair that may be taken). A pair taken after the time ran out loses the game instead. Scores the pair with its combo, adds the time the challenge gives, moves the spark on, and judges whether the game is won or lost.
Examples
import { generateAwase, runTake, startRun } from "@johnmorrisdotca/jarajara/awase";
import { freePairs, geometryOf, layoutFor } from "@johnmorrisdotca/jarajara";
const deal = generateAwase(4,"easy",2026);
const layout = layoutFor(4)!;
const geometry = geometryOf(layout);
const cells = deal.givens;
const pair = freePairs(geometry,cells,"group")[0];
const run = startRun(deal,{},0);
console.log(runTake(run,pair[0],pair[1],1000)?.pairs);1What it prints (run when this page was built)