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
| Name | Type | Description |
|---|---|---|
settings | Settings | |
board | Board | null | |
marks | readonly Mark[] | |
status | Status | |
exploded | number | null | |
moves | readonly Move[] | |
helped | boolean | 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)