diff options
Diffstat (limited to 'sw-bot/src/main/kotlin')
-rw-r--r-- | sw-bot/src/main/kotlin/org/luxons/sevenwonders/bot/SevenWondersBot.kt | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sw-bot/src/main/kotlin/org/luxons/sevenwonders/bot/SevenWondersBot.kt b/sw-bot/src/main/kotlin/org/luxons/sevenwonders/bot/SevenWondersBot.kt index c58eaea8..80bad9e4 100644 --- a/sw-bot/src/main/kotlin/org/luxons/sevenwonders/bot/SevenWondersBot.kt +++ b/sw-bot/src/main/kotlin/org/luxons/sevenwonders/bot/SevenWondersBot.kt @@ -59,6 +59,7 @@ class SevenWondersBot( private suspend fun SevenWondersSession.playTurn(turn: PlayerTurnInfo): Boolean { when (turn.action) { Action.PLAY, Action.PLAY_2, Action.PLAY_LAST -> prepareMove(createPlayCardMove(turn)) + Action.PLAY_FREE_DISCARDED -> prepareMove(createPlayFreeDiscardedMove(turn)) Action.PICK_NEIGHBOR_GUILD -> prepareMove(createPickGuildMove(turn)) Action.SAY_READY -> sayReady() Action.WAIT -> Unit @@ -84,5 +85,10 @@ private fun createPlayCardMove(turnInfo: PlayerTurnInfo): PlayerMove { } } +private fun createPlayFreeDiscardedMove(turn: PlayerTurnInfo): PlayerMove { + val card = turn.discardedCards?.random() ?: error("No discarded card to play") + return PlayerMove(MoveType.PLAY_FREE_DISCARDED, card.name) +} + private fun createPickGuildMove(turnInfo: PlayerTurnInfo): PlayerMove = PlayerMove(MoveType.COPY_GUILD, turnInfo.neighbourGuildCards.random().name) |