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

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

NameTypeDescription
gameVisibleGame

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)

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