Reference · Rules, generation and deductions
deducefunction
What the clues prove, without reading the answer or trusting a player's flags. A flag is a note; treating it as evidence makes a bad note a bad hint.
Import it
import { deduce } from "@johnmorrisdotca/jirai";
Definition
function deduce(game: VisibleGame, knownMines?: ReadonlySet<number>, enumerate?: boolean, adjacent?: readonly (readonly number[])[]): Deduction
Parameters
| Name | Type | Description |
|---|---|---|
game | VisibleGame | The native game, or answer-free VisibleGame required by the signature. |
knownMines (optional) | ReadonlySet<number> | Previously proved mine indices, rather than untrusted player flags. |
enumerate (optional) | boolean | Whether to include bounded exact frontier enumeration in the deduction/proof check. |
adjacent (optional) | readonly (readonly number[])[] | Optional native neighbour lists matching the field’s topology and active cells. |
Returns
Deduction
What the clues prove, without reading the answer or trusting a player's flags. A flag is a note; treating it as evidence makes a bad note a bad hint.
Examples
import type { Settings } from "@johnmorrisdotca/jirai";
import { deduce, newGame, play, visibleGame } from "@johnmorrisdotca/jirai";
const settings: Settings={width:3,height:3,mines:1,grid:"square",noGuess:false,opening:"clear",seed:42};
const game=play(newGame(settings),{kind:"reveal",cell:0});
console.log(deduce(visibleGame(game)));{
safe: [],
mines: [ 2 ],
reason: 'count',
sources: [ 1 ],
contradiction: false
}What it prints (run when this page was built)