Skip to the content

Jirai地雷

Deal seeded minefields, prove hints from visible clues and mount square, orthogonal, hexagonal or wraparound boards.

Jirai is the Japanese word 地雷 for a land mine. About the name

Contents

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

NameTypeDescription
boardBoard

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)

View sourceEdit on GitHubMade from the source of @johnmorrisdotca/jirai 0.5.0.