forfeitTurn関数
リファレンスの説明と例は英語です。見出しと目次は日本語です。
Takes the turn away from the colour to move without a stone: the graceful penalty for a missed deadline. It is a FORFEIT on the record, not a pass, so a replay changes hands at the same point the game did — a pass the rules do not offer would stop the replay there instead. Unlike a pass in the piece games, two of these in a row do not end anything; the forfeit count does.
Where the rules DO offer a pass, a missed turn is that pass and not this:
forfeitOnRecord in engine.ts decides, since only the engine knows.
インポート
import { forfeitTurn } from "@johnmorrisdotca/narabe";
定義
function forfeitTurn(state: GameState): GameState
引数
| 名前 | 型 | 説明 |
|---|---|---|
state | GameState | The current immutable game position. |
戻り値
GameState
The resulting position; a refused or inapplicable action leaves the input position unchanged.
例
import { createGame, forfeitTurn } from "@johnmorrisdotca/narabe";
const state = createGame({variant:"freestyle",size:15});
console.log(forfeitTurn(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: [ { row: -1, col: -1, stone: 'black', kind: 'forfeit' } ],
opener: 'black',
seats: { black: 'one', white: 'two' },
swapsUsed: { one: 0, two: 0 },
captures: { black: 0, white: 0 },
opening: { stage: 'done', actor: null, choices: [] },
toPlay: 'white',
pendingTwist: false,
kings: [],
chainAt: null,
koPoint: null,
status: 'playing',
winner: null,
winBy: null,
winningLine: []
}出力(このページを作ったときに実行した結果)
この日本語は、まだ日本語を母語とする方の確認を受けていません。訂正を歓迎します。