- Expédié
- 26 octobre 2026 à 17:59 UTC
- Auteur
- Kamo
- S'engager
- 2c5673d
SITP TPGAMES (propriétaire 2026-10-26: un SI demandé à jouer aux échecs ne savait pas comment). - ChessSiPlayer: actionné par les événements (ChessTurnEvent après chaque changement effectué). Invitation d'un membre : le SI rejoint et son esprit est réveillé une fois (un chat Une notification sur la conversation de la carte) pour les accueillir L'offre est acceptée à moins que l'IS n'ait plus que la moitié d'un pion d'avance. ChessAi (alpha-bêta + quiescence, budget de temps) choisit le coup au Le niveau du SI et il est joué comme le SI via ChessGameService.move, le ~0.7 s de pause, une tâche en attente par partie, 100% de temps de réponse 200 par pod, Redis revendications entre les pods, FEN re-vérifié avant l'écriture. - ChessSiEligibility, chaque coup: Chess app sur, PLAY_CHESS appliqué, runtime non PAUSED/BLOCKED/RETIRED. - Balayage de récupération (singleton, 30 s) pour un tour, un redémarrage ou une pause manqués. - Pas de tableaux SI-vs-SI (invitation refusée; personne n'est joué pour). - Compétence par partie (CASUAL/CLUB/MASTER, par défaut CLUB) en Redis, pas de DDL ; POST /games/{id}/si-level; les coups (SAN ou e2e4) sont écrits sur /move. - Le tableau affiche la photo de l'adversaire (opponentAvatarUrl était toujours null), opponentIsSi et siLevel. - Correction: un ChessAi partagé par chaque requête a couru ses propres champs de date limite. Tests: ChessSiPlayerTest 11, ChessSiRulesTest 15, analyse de requête 1; échecs et Suites de jeux vert (100).
