Correction de bogue
C'est le matin. 02:07(AM), 13 novembre 2025.
J'ai rencontré un bogue dans une situation où il y avait 6 joueurs dans le jeu (5 bots et moi). 3 joueurs restaient dans le jeu (moi et 2 bots). J'étais le joueur numéro 4, et il y avait le joueur 3 avec une influence restante et le joueur 6 avec une influence restante. Le déroulement était donc le suivant - j'avais 7 pièces et j'ai "COUPÉ" le joueur numéro 1 en tuant son influence restante. Ensuite, c'était le tour du joueur 6 et il a revendiqué "TAXE", j'ai contesté son action (ce qui signifie que j'ai interrompu la décision prise par le joueur 3, car le joueur 3 était le joueur suivant après le joueur 6), puis IL SEMBLE que même si mon défi de l'action "TAXE" du joueur 6 a été couronné de succès l'influence qu'il a perdue s'est avérée être le DUKE et le joueur 3 (bot) a gelé. Je suppose que le joueur 3 a gelé parce que j'ai interrompu son action, donc je devais examiner le code pour savoir pourquoi cela s'est produit, mais je devais également examiner les journaux pour voir si mon défi a été couronné de succès même si le joueur 6 avait un duc en revendiquant "TAXE". Le journal de ce jeu est disponible ici si vous êtes intéressé fichier. Et la capture d'écran de l'état du jeu ressemble à ceci :
Et tout à l'heure, j'ai pu rechercher et déterminer cette situation, ce qui a pris environ 88 minutes. Tout d'abord, le défi que j'ai effectué a été traité correctement, car le 6e joueur avait un duc mort avant que je le défie, et il devait révéler la comtesse. Cela est devenu évident à partir des journaux. Mais le problème du bot gelé s'est produit en raison d'une logique buggée qui n'a pas correctement filtré l'action VOL à partir des actions disponibles car elle considérait les joueurs morts qui avaient plus de zéro pièces comme des joueurs contre lesquels l'action VOL pouvait être effectuée et j'ai corrigé ce problème ici et j'ai écrit un test unitaire qui couvre cette situation ici.
Je vous remercie infiniment pour votre temps et votre participation à ce projet.
L'Empereur protège.