growBoardfunction
Returns the game on a larger board, or the state unchanged when it cannot grow. Every stone, every recorded move and the winning line all move together, so the record still replays to the position on the screen.
Import it
import { growBoard } from "@johnmorrisdotca/narabe";
Definition
function growBoard(state: GameState): GameState
Parameters
| Name | Type | Description |
|---|---|---|
state | GameState | The current immutable game position. |
Returns
GameState
The resulting position; a refused or inapplicable action leaves the input position unchanged.
Examples
import { createGame, growBoard } from "@johnmorrisdotca/narabe";
const state = createGame({variant:"freestyle",size:15});
console.log(growBoard(state));{
settings: {
size: 15,
winLength: 5,
variant: 'freestyle',
opening: 'free',
handicap: {
stone: null,
doubleThree: false,
doubleFour: false,
overline: false,
exactLine: false,
openLine: false,
longerLine: false,
singleStone: false,
noCaptures: false,
secondStoneExclusion: 0
},
headStart: { stone: null, freeTurns: 0, traditional: 0 },
seed: 0,
capturesToWin: 10,
firstPlayer: 'black',
obstacles: 'none',
allowUndo: true,
allowSkip: false,
allowSwap: false,
allowResize: false,
swapsPerSeat: 1,
drawLimit: 'none'
},
board: [
null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null,
... 125 more items
],
moves: [],
opener: 'black',
seats: { black: 'one', white: 'two' },
swapsUsed: { one: 0, two: 0 },
captures: { black: 0, white: 0 },
opening: { stage: 'done', actor: null, choices: [] },
toPlay: 'black',
pendingTwist: false,
kings: [],
chainAt: null,
koPoint: null,
status: 'playing',
winner: null,
winBy: null,
winningLine: []
}What it prints (run when this page was built)