Reference · Rules, generation and deductions
measureBoardfunction
Solve a dealt board from its opening and report what it took. The score is
100 × density + 100 × multiStep + depth ÷ 4, so it rises with the crowding of the mines, with the share of the
field that needs more than a single clue, and with how long the longest chain of reasoning runs. It is a way to
put boards in order, not a rating of how long a person will take.
Import it
import { measureBoard } from "@johnmorrisdotca/jirai";
Definition
function measureBoard(board: Board): Measure
Parameters
| Name | Type | Description |
|---|---|---|
board | Board | The dealt native field; it includes private answer data. |
Returns
Measure
Solve a dealt board from its opening and report what it took. The score is 100 × density + 100 × multiStep + depth ÷ 4, so it rises with the crowding of the mines, with the share of the field that needs more than a single clue, and with how long the longest chain of reasoning runs. It is a way to put boards in order, not a rating of how long a person will take.
Examples
import type { Settings } from "@johnmorrisdotca/jirai";
import { makeBoard, measureBoard } from "@johnmorrisdotca/jirai";
const settings: Settings={width:3,height:3,mines:1,grid:"square",noGuess:false,opening:"clear",seed:42};
const board=makeBoard(settings,0,{attempts:1,repair:false});
console.log(measureBoard(board));{
density: 0.1111111111111111,
cells: 9,
opening: 1,
proofs: { count: 1, overlap: 0, total: 0, enumeration: 0 },
multiStep: 0,
depth: 1,
score: 11.4,
solvable: true
}What it prints (run when this page was built)