tsgammon-core
Version:
A Backgammon library for Typescript, formerly developed as a part of tsgammon-ui
36 lines (33 loc) • 1.07 kB
text/typescript
import { boardState } from '../BoardState'
import { cube } from '../CubeState'
import { GameConf, standardConf } from '../GameConf'
import { cbOpening } from './CubeGameState'
import { openingState } from './SingleGameState'
/**
* ルール設定から、デフォルト状態=各ゲーム開始時の状態を表すBGStateオブジェクトを生成する
* @param gameConf ルール設定
* @returns
*/
export function defaultBGState(gameConf: GameConf = standardConf) {
return {
cbState: cbOpening(cube(1)),
sgState: defaultSGState(gameConf),
}
}
/**
* ルール設定から、デフォルト状態=各ゲーム開始時の状態を表すSGStateオブジェクトを生成する
* @param gameConf ルール設定
* @returns
*/
export function defaultSGState(gameConf: GameConf = standardConf) {
return openingState(
boardState(
gameConf.initialPos,
[0, 0],
gameConf.innerPos,
gameConf.isEoGFunc
),
undefined,
gameConf.movesForDoublet
)
}