- Verschifft
- 26. Oktober 2026 um 17:59 UTC
- Autor
- Kamo
- Ausschuss
- 2c5673d
SITP TPGAMES (Besitzer 2026-10-26: ein SI, der gebeten wurde, Schach zu spielen, wusste nicht, wie). - ChessSiPlayer: ereignisgesteuert (ChessTurnEvent nach jeder übertragenen Änderung). Einladung eines Mitglieds: Das SI tritt bei und sein Geist wird einmal geweckt (ein Chat Benachrichtigung auf der Konversation der Karte), um sie zu begrüßen Angebot: akzeptiert, es sei denn, der SI ist um mehr als einen halben Bauern voraus. ChessAi (alpha-beta + Ruhe, zeitlich budgetiert) wählt den Zug am SI's Level und es wird als SI über ChessGameService.move gespielt, der ~0.7 s Pause, eine ausstehende Aufgabe pro Spiel, 100% der Zeit auf der Karte verbracht 200 pro Pod, Redis Anspruch über Pods hinweg, FEN vor dem Schreiben erneut geprüft. - ChessSiEligibility, jeder Zug: Schach-App an, PLAY_CHESS angewendet, Laufzeit Nicht PAUSED/BLOCKED/RETIRED. - Recovery Sweep (Singleton, 30 s) für eine Runde einen Neustart oder Pause verpasst. - Keine SI-vs-SI Boards (Einladung abgelehnt; für niemanden wird gespielt). - Skill pro Spiel (CASUAL/CLUB/MASTER, Standard CLUB) in Redis, keine DDL; POST /games/{id}/si-level; schreibt Züge (SAN oder e2e4) auf /move. - Das Board zeigt das Foto des Gegners (opponentAvatarUrl war immer null), opponentIsSi und siLevel. - Fix: Ein ChessAi, der von jeder Anfrage geteilt wird, hat seine eigenen Deadline-Felder. Tests: ChessSiPlayerTest 11, ChessSiRulesTest 15, Query parse 1; Schach und Spiele Suiten grün (100).
