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

makeBoardfunction

Deal after the first reveal. A seed fixes the whole candidate stream and the accepted board.

A no-guess deal first draws random layouts, as 0.1 and 0.2 did, so every board those versions dealt is still dealt. If none of them can be finished by deduction it takes the closest and repairs it: single mines are moved near the place the solver stopped until the solver finishes the whole field. The result is proved the same way either route.

Import it

import { makeBoard } from "@johnmorrisdotca/jirai";

Definition

function makeBoard(settings: Settings, first: number, options?: GenerationOptions): Board

Parameters

NameTypeDescription
settingsSettings

The validated native field dimensions, mine count, topology, shape, opening, generation policy and numeric seed.

firstnumber

The native active-cell index of the opening, from which generation and proof begin.

options (optional)GenerationOptions

The generation budgets/options, or React-owned native settings and host callbacks specified by this signature.

Returns

Board

Deal after the first reveal. A seed fixes the whole candidate stream and the accepted board.

Examples

import type { Settings } from "@johnmorrisdotca/jirai";
import { makeBoard } from "@johnmorrisdotca/jirai";

const settings: Settings={width:3,height:3,mines:1,grid:"square",noGuess:false,opening:"clear",seed:42};
console.log(makeBoard(settings,0,{attempts:1,repair:false}).first);
0

What it prints (run when this page was built)

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