passesOwedfunction
The position after every pass the rules force: none when the colour to move has something to play, one when only it is stuck, and two — ending the game — when neither side can move. Never a pass for a colour with a move, and never Go's, which is a choice.
Import it
import { passesOwed } from "@johnmorrisdotca/narabe";
Definition
function passesOwed(state: GameState): GameState
Parameters
| Name | Type | Description |
|---|---|---|
state | GameState | The current immutable game position. |
Returns
GameState
The position after recording any required automatic passes.
Examples
import { createGame, passesOwed } from "@johnmorrisdotca/narabe";
const state = createGame({variant:"freestyle",size:15});
console.log(passesOwed(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)