UNPKG

binmat

Version:
14 lines (13 loc) 703 B
import { doCombat } from "./doCombat.js" import { StatusCode, Role } from "./shared.js" import "@samual/lib/shuffle" function doMoveCombat(state, lane) { if (state.turn >= state.turns) return { status: StatusCode.MadeMoveOnFinishedGame } if ((state.turn % 2) + 1 == Role.Defender) return { status: StatusCode.DefenderInitiatedCombat } if (!state.attackerStacks[lane].length) return { status: StatusCode.AttackerInitiatedCombatWithEmptyStack } const combatResult = doCombat(state, lane) return combatResult.status == StatusCode.AttackerWin ? combatResult : (state.turn++, state.turn == state.turns ? { ...combatResult, status: StatusCode.DefenderWin } : combatResult) } export { doMoveCombat }