Boti: pauza pred vedenim kopky, spravne poradie broadcastov po tahu

Bot doteraz vedel zahodit prvu kartu novej kopky uz po BOT_MOVE_DELAY_SECONDS
(0.8s), zatial co frontend zmetaciu animaciu predoslej kopky prehraval
1650ms -- karta tak "vyletela" uprostred zmetania. _run_bot_turns teraz pri
vedeni novej kopky caka TRICK_SWEEP_SECONDS (1.7s), zhodne s SETTLE_MS+
COLLECT_MS v GameTable.tsx.

_run_bot_turns tiez posielal player_cards PRED game_status (opacne ako
human play_card handler) -- pri prechode do noveho kola tak klient dostal
novu ruku skor, nez vedel, ze zacalo nove kolo, a fixne ju hned zobrazil.
Poradie broadcastov je teraz zhodne s human handlerom.

GameTable/Hand: ruka noveho kola sa zobrazi az po dobehnuti zmetacej
animacie poslednej kopky predchadzajuceho kola (displayedHand + freeze
efekt), a Hand.tsx rezervuje fixny priestor pre karty aj ked je ruka
docasne prazdna, aby layout neposkakoval.

tests/test_bots.py: nulovanie TRICK_SWEEP_SECONDS v setUpClass, aby testy
zostali rychle.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
tim
2026-07-10 01:09:59 +02:00
co-authored by Claude Opus 4.8
parent b1010ae008
commit 973c279cbd
4 changed files with 78 additions and 32 deletions
+2
View File
@@ -67,6 +67,7 @@ class BotAccountCase(unittest.TestCase):
def setUpClass(cls):
run(init_db())
api.BOT_MOVE_DELAY_SECONDS = 0
api.TRICK_SWEEP_SECONDS = 0
def test_username_conventions(self):
self.assertTrue(bots.is_bot_username("bot:heuristic-1"))
@@ -115,6 +116,7 @@ class BotTurnLoopCase(unittest.TestCase):
def setUpClass(cls):
run(init_db())
api.BOT_MOVE_DELAY_SECONDS = 0
api.TRICK_SWEEP_SECONDS = 0
def setUp(self):
api.games.clear()