Reference · Pipes, rules and solving
turnAtfunction
A tap: the piece on cell turned a quarter, clockwise (by 1) or the other
way (by -1); a cell in a block turns the whole block, its pieces moving round
to the next cell as they turn. Returns a new game. A cell that cannot be turned
(bare ground, a cross, a locked piece), or does not exist, leaves the game as it was.
Import it
import { turnAt } from "@johnmorrisdotca/suido";
Definition
function turnAt(game: Game, cell: number, by?: 1 | -1): Game
Parameters
| Name | Type | Description |
|---|---|---|
game | Game | The current immutable game state. |
cell | number | A zero-based row-major cell index. |
by (optional) | 1 | -1 | The signed number of quarter turns. |
Returns
Game
A tap: the piece on cell turned a quarter, clockwise (by 1) or the other way (by -1); a cell in a block turns the whole block, its pieces moving round to the next cell as they turn. Returns a new game. A cell that cannot be turned (bare ground, a cross, a locked piece), or does not exist, leaves the game as it was.
Examples
import { SUIDO_5X5 } from "@johnmorrisdotca/suido/levels-5x5";
import { newGame, turnAt } from "@johnmorrisdotca/suido";
const row = SUIDO_5X5[0];
const code = row[0];
const game = newGame(code)!;
console.log(turnAt(game,0).turns);1What it prints (run when this page was built)