Enha: bot timer

This commit is contained in:
Grail Finder
2025-07-06 14:36:18 +03:00
parent a131183729
commit 718c9c10be
3 changed files with 89 additions and 1 deletions

View File

@ -99,6 +99,7 @@ func (b *Bot) checkGuess(word string, room *models.Room) error {
room.MimeDone = false
room.OpenedThisTurn = 0
room.ThisTurnLimit = 0
b.StopTurnTimer()
}
switch string(color) {
case string(models.WordColorBlack):
@ -116,12 +117,14 @@ func (b *Bot) checkGuess(word string, room *models.Room) error {
Action: models.ActionTypeGameOver,
}
room.ActionHistory = append(room.ActionHistory, action)
b.StopTurnTimer()
case string(models.WordColorWhite), string(oppositeColor):
// end turn
room.TeamTurn = oppositeColor
room.MimeDone = false
room.OpenedThisTurn = 0
room.ThisTurnLimit = 0
b.StopTurnTimer()
}
// check if no cards left => game over
if room.BlueCounter == 0 {
@ -139,6 +142,7 @@ func (b *Bot) checkGuess(word string, room *models.Room) error {
Action: models.ActionTypeGameOver,
}
room.ActionHistory = append(room.ActionHistory, action)
b.StopTurnTimer()
}
if room.RedCounter == 0 {
// red won
@ -155,6 +159,7 @@ func (b *Bot) checkGuess(word string, room *models.Room) error {
Action: models.ActionTypeGameOver,
}
room.ActionHistory = append(room.ActionHistory, action)
b.StopTurnTimer()
}
ctx, tx, err := repo.InitTx(context.Background())
// nolint: errcheck
@ -272,7 +277,7 @@ func (b *Bot) BotMove() {
b.log.Error("failed to create action", "error", err)
return
}
// StartTurnTimer(fi.Room.ID, fi.Room.Settings.RoundTime)
b.StartTurnTimer(room.Settings.RoundTime)
if err := saveRoom(room); err != nil {
b.log.Error("failed to save room", "error", err)
return