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 · Visible board models

BoardModeltype

Layout and cell presentation returned by boardModel.

Import it

import type { BoardModel } from "@johnmorrisdotca/jirai/draw";

Definition

type BoardModel = {
    width: number;
    height: number;
    cells: CellModel[];
};

Members

NameTypeDescription
widthnumber
heightnumber
cellsCellModel[]

Examples

import type { Settings } from "@johnmorrisdotca/jirai";
import { newGame, play } from "@johnmorrisdotca/jirai";
import type { BoardModel } from "@johnmorrisdotca/jirai/draw";
import { boardModel } from "@johnmorrisdotca/jirai/draw";

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: BoardModel = boardModel(game);
console.log(value);
{
  width: 3,
  height: 3,
  cells: [
    {
      cell: 0,
      x: 0,
      y: 0,
      width: 1,
      height: 1,
      label: '1, 1: empty',
      text: '',
      kind: 'open',
      hint: false
    },
    {
      cell: 1,
      x: 1,
      y: 0,
      width: 1,
      height: 1,
      label: '1, 2: 1',
      text: '1',
      kind: 'open',
      hint: false
    },
    {
      cell: 2,
      x: 2,
      y: 0,
      width: 1,
      height: 1,
      label: '1, 3: mine',
      text: '✹',
      kind: 'mine',
      hint: false
    },
    {
      cell: 3,
      x: 0,
      y: 1,
      width: 1,
      height: 1,
      label: '2, 1: empty',
      text: '',
      kind: 'open',
      hint: false
    },
    {
      cell: 4,
      x: 1,
      y: 1,
      width: 1,
      height: 1,
      label: '2, 2: 1',
      text: '1',
      kind: 'open',
      hint: false
    },
    {
      cell: 5,
      x: 2,
      y: 1,
      width: 1,
      height: 1,
      label: '2, 3: 1',
      text: '1',
      kind: 'open',
      hint: false
    },
    {
      cell: 6,
      x: 0,
      y: 2,
      width: 1,
      height: 1,
      label: '3, 1: empty',
      text: '',
      kind: 'open',
      hint: false
    },
    {
      cell: 7,
      x: 1,
      y: 2,
      width: 1,
      height: 1,
      label: '3, 2: empty',
      text: '',
      kind: 'open',
      hint: false
    },
    {
      cell: 8,
      x: 2,
      y: 2,
      width: 1,
      height: 1,
      label: '3, 3: empty',
      text: '',
      kind: 'open',
      hint: false
    }
  ]
}

What it prints (run when this page was built)

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