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

Gametype

Rules data includes the answer; never send it to a competitive client. Use visibleGame for hints and drawing.

Import it

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

Definition

type Game = {
    settings: Settings;
    board: Board | null;
    marks: readonly Mark[];
    status: Status;
    exploded: number | null;
    moves: readonly Move[];
    helped: boolean;
};

Members

NameTypeDescription
settingsSettings
boardBoard | null
marksreadonly Mark[]
statusStatus
explodednumber | null
movesreadonly Move[]
helpedboolean

A proved hint has been shown during this run.

Examples

import type { Game, Settings } from "@johnmorrisdotca/jirai";
import { newGame, play } 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: Game = game;
console.log(value);
{
  settings: {
    width: 3,
    height: 3,
    mines: 1,
    grid: 'square',
    noGuess: false,
    opening: 'clear',
    seed: 42
  },
  board: {
    settings: {
      width: 3,
      height: 3,
      mines: 1,
      grid: 'square',
      noGuess: false,
      opening: 'clear',
      seed: 42
    },
    mines: [
      false, false,
      true,  false,
      false, false,
      false, false,
      false
    ],
    clues: [
      0, 1, -1, 0, 1,
      1, 0,  0, 0
    ],
    first: 0,
    attempt: 0
  },
  marks: [
    'open',    'open',
    'covered', 'open',
    'open',    'open',
    'open',    'open',
    'open'
  ],
  status: 'won',
  exploded: null,
  moves: [ { kind: 'reveal', cell: 0 } ],
  helped: false
}

What it prints (run when this page was built)

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