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
| Name | Type | Description |
|---|---|---|
width | number | |
height | number | |
cells | CellModel[] |
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)