Reference · Rules, solvers and generation
cheatGamefunction
Cheat: one unfinished line drawn as the answer has it, anything in its way cut back. It spends no stroke, and the
game is helped ever after. Nothing unless the game was made with cheats and an answer.
Import it
import { cheatGame } from "@johnmorrisdotca/tsunagi";
Definition
function cheatGame(game: TsunagiGame): TsunagiGame
Parameters
| Name | Type | Description |
|---|---|---|
game | TsunagiGame | The current immutable native puzzle state. |
Returns
TsunagiGame
Cheat: one unfinished line drawn as the answer has it, anything in its way cut back. It spends no stroke, and the game is helped ever after. Nothing unless the game was made with cheats and an answer.
Examples
import { TSUNAGI_4 } from "@johnmorrisdotca/tsunagi/levels-4";
import { cheatGame, newTsunagiGame } from "@johnmorrisdotca/tsunagi";
const givens = TSUNAGI_4[0][0];
const answer = TSUNAGI_4[0][1];
const game = newTsunagiGame(givens,4,{answer,cheats:true})!;
console.log(cheatGame(game));{
layout: {
size: 4,
cells: [
0, -1, -1, 0, 1, -1,
-1, 1, 2, -1, -1, 2,
3, -1, -1, 3
],
ends: [ [Array], [Array], [Array], [Array] ],
walls: Set(0) {},
waypoints: Map(0) {},
wrap: false,
portalPairs: [],
portals: Map(0) {},
hex: false,
sparse: false,
strokes: null,
explosions: null
},
givens: 'A..AB..BC..CD..D',
answer: 'AAAABBBBCCCCDDDD',
lines: [ [ 0, 1, 2, 3 ], [], [], [] ],
undo: [ [ [], [], [], [] ] ],
strokes: 0,
drawing: null,
before: null,
reach: { dr: 0, dc: 0 },
flagged: null,
blasted: null,
exploded: null,
checked: null,
cheats: true,
explosions: 'on',
eased: null,
cheated: true,
solved: false
}What it prints (run when this page was built)