Correção de Bug
É de manhã. 02:07(AM), 13 de novembro de 2025.
Eu encontrei um bug em uma situação onde havia 6 jogadores no jogo (5 bots e eu). 3 jogadores restaram no jogo (eu e 2 bots). Eu era o jogador número 4, também havia o jogador 3 com uma influência restante e o jogador 6 com uma influência restante. Então, o fluxo foi assim - eu tinha 7 moedas e eu "COUPEI" o jogador número 1 matando sua última influência. Em seguida, foi a vez do jogador 6 e ele reivindicou "IMPOSTO", eu desafiei sua ação (e isso significa que eu interrompi a decisão feita pelo jogador 3, porque o jogador 3 era o próximo jogador após o jogador 6), então PARECE que, mesmo que meu desafio da ação "IMPOSTO" do jogador 6 tenha sido bem-sucedido, a última influência que ele perdeu se revelou ser DUQUE e, em seguida, o jogador 3 (bot) congelou. Eu suponho que o jogador 3 congelou porque eu interrompi sua ação, então eu posso dar uma olhada no código para saber por que isso aconteceu, mas também eu tenho que dar uma olhada nos logs para ver se, de alguma forma, meu desafio foi bem-sucedido, mesmo que o jogador 6 tivesse um duque enquanto reivindicava "IMPOSTO". O log desse jogo está aqui, se você estiver interessado arquivo. E a captura de tela do estado do jogo parece assim:
E agora eu consegui pesquisar e descobrir essa situação, o que levou cerca de 88 minutos. Primeiramente, o desafio que eu realizei foi processado corretamente, porque o 6º jogador tinha um DUQUE morto antes que eu o desafiasse, e ele teve que revelar a condessa. Isso ficou óbvio nos logs. Mas o problema do bot congelado aconteceu devido à lógica bugada que não estava filtrando corretamente a ação ROUBAR das ações disponíveis porque considerava jogadores mortos que tinham mais de zero moedas como jogadores contra os quais a ação ROUBAR poderia ser realizada e eu corrigi esse problema aqui e escrevi um teste unitário que cobre essa situação aqui.
Muitos obrigados por seu tempo e participação neste projeto.
O Imperador Protege.