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

VisibleGametype

Answer-free state suitable for deductions, hints, and public display.

Import it

import type { VisibleGame } from "@johnmorrisdotca/jirai";

Definition

type VisibleGame = {
    settings: Settings;
    clues: readonly (number | null)[];
    marks: readonly Mark[];
    status: Status;
};

Members

NameTypeDescription
settingsSettings
cluesreadonly (number | null)[]

Null is hidden, including flags. Only opened cells give a clue.

marksreadonly Mark[]
statusStatus

Examples

import type { Settings, VisibleGame } from "@johnmorrisdotca/jirai";
import { 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});
const value: VisibleGame = visibleGame(game);
console.log(value);
{
  settings: {
    width: 3,
    height: 3,
    mines: 1,
    grid: 'square',
    noGuess: false,
    opening: 'clear',
    seed: 42
  },
  marks: [
    'open',    'open',
    'covered', 'open',
    'open',    'open',
    'open',    'open',
    'open'
  ],
  status: 'won',
  clues: [
    0, 1, null, 0,
    1, 1, 0,    0,
    0
  ]
}

What it prints (run when this page was built)

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