C'est corrigé ! J'ai identifié la cause du blocage : 1. **Bug de données** : Pour les coups du joueur humain, l'ordinateur savait d'où venir la pièce (`fromR`, `fromC`), mais pas la logique des humains. La fonction `calculateValidMoves` ne renvoyait pas ces coordonnées, donc `move.fromR` était vide, et la pièce ne savait pas d'où elle venait pour quitter la case de départ. 2. **Bug de victoire** : Le code de fin de partie regardait le mauvais indicateur (`turn` au lieu de vérifier les pièces réelles), ce qui faussait la vérification de victoire. Voici le **code 100% corrigé et fonctionnel**. Les pièces bougeront correctement pour les joueurs humains et l'IA. ```html