runHintfunction
Ask for a hint: the new game with it counted and the pair named, or null where none is left to use or no pair can be
taken. Given the slot the player has chosen, it looks for that tile's match first (hintFor): found says whether
the pair is that match (match), another pair because the chosen tile has none (other), or any pair (any).
Import it
import { runHint } from "@johnmorrisdotca/jarajara/awase";
Definition
function runHint(run: AwaseRun, chosen?: number | null): { run: AwaseRun; pair: [number, number]; found: Exclude<HintKind, "none">; } | null
Parameters
| Name | Type | Description |
|---|---|---|
run | AwaseRun | The current immutable native challenge run. |
chosen (optional) | number | null | undefined | The selected tile slot, or null without a selection. |
Returns
{ run: AwaseRun; pair: [number, number]; found: Exclude<HintKind, "none">; } | null
Ask for a hint: the new game with it counted and the pair named, or null where none is left to use or no pair can be taken. Given the slot the player has chosen, it looks for that tile's match first (hintFor): found says whether the pair is that match (match), another pair because the chosen tile has none (other), or any pair (any).
Examples
import { generateAwase, runHint, 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(runHint(run)?.pair);[ 4, 7 ]What it prints (run when this page was built)