UNPKG

tsgammon-core

Version:

A Backgammon library for Typescript, formerly developed as a part of tsgammon-ui

38 lines (37 loc) 1.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toGameState = void 0; /** * 現局面を、GameStateオブジェクトに読み替える * @param bgState * @param rsState * @returns */ function toGameState(bgState, rsState) { const { cbState, sgState } = bgState; switch (cbState.tag) { case 'CBOpening': return { tag: 'GSOpening', cubeState: cbState.cubeState, }; case 'CBEoG': return { tag: 'GSEoG', cubeState: cbState.cubeState, isWonByResign: rsState.tag === 'RSOffered', isWonByPass: cbState.isWonByPass, }; default: return { tag: 'GSInPlay', cubeState: cbState.cubeState, isResignOffered: rsState.tag === 'RSOffered', isDoubleOffered: cbState.tag === 'CBResponse', offer: rsState.tag === 'RSOffered' ? rsState.offer : undefined, dices: sgState.tag === 'SGInPlay' ? sgState.dices : undefined, isRed: rsState.tag === 'RSOffered' ? rsState.isRed : cbState.isRed, }; } } exports.toGameState = toGameState;