UNPKG

binmat

Version:
20 lines (19 loc) 834 B
import { StatusCode, Role } from "./shared.js" function doMovePass(state) { if (state.turn >= state.turns) return StatusCode.MadeMoveOnFinishedGame if ((state.turn % 2) + 1 == Role.Defender) if (state.defenderPassedLastTurn) for (const card of state.defenderHand.splice(0)) { let smallestDiscardPile = state.laneDiscardPiles[0] for (const discardPile of state.laneDiscardPiles.slice(1)) discardPile.length < smallestDiscardPile.length && (smallestDiscardPile = discardPile) smallestDiscardPile.push(card) } else state.defenderPassedLastTurn = !0 else state.attackerPassedLastTurn ? state.attackerDiscardPile.push(...state.attackerHand.splice(0)) : (state.attackerPassedLastTurn = !0) return state.turn++, state.turn == state.turns ? StatusCode.DefenderWin : StatusCode.Ok } export { doMovePass }