add bot lag vs AI

pull/4366/head
Thibault Duplessis 2018-05-10 17:58:39 +02:00
parent 7d033e37be
commit b1c9ab7012
2 changed files with 13 additions and 13 deletions

View File

@ -13,18 +13,19 @@ import lila.user.User
final class BotPlayer(
roundMap: ActorSelection,
chatActor: ActorSelection,
system: ActorSystem
) {
chatActor: ActorSelection
)(implicit system: ActorSystem) {
def apply(pov: Pov, me: User, uciStr: String): Funit =
Uci(uciStr).fold(fufail[Unit](s"Invalid UCI: $uciStr")) { uci =>
lila.mon.bot.moves(me.username)()
if (!pov.isMyTurn) fufail("Not your turn, or game already over")
else {
val promise = Promise[Unit]
roundMap ! Tell(pov.gameId, BotPlay(pov.playerId, uci, promise.some))
promise.future
lila.common.Future.delay((pov.game.hasAi ?? 500) millis) {
Uci(uciStr).fold(fufail[Unit](s"Invalid UCI: $uciStr")) { uci =>
lila.mon.bot.moves(me.username)()
if (!pov.isMyTurn) fufail("Not your turn, or game already over")
else {
val promise = Promise[Unit]
roundMap ! Tell(pov.gameId, BotPlay(pov.playerId, uci, promise.some))
promise.future
}
}
}

View File

@ -19,9 +19,8 @@ final class Env(
lazy val player = new BotPlayer(
roundMap = hub.actor.roundMap,
chatActor = hub.actor.chat,
system = system
)
chatActor = hub.actor.chat
)(system)
val form = BotForm
}