# PARTIE MATHEO : ## Analyse du code produit par ChatGPT par rapport au code attendu : ### Pour PieceSquadro - Le code généré par l'IA a omis d'ajouter les constantes en les déclarant comme `public` et en utilisant `static`. - Après des tests, nous avons constaté que : - `const` est effectivement `static` par défaut. - Si aucun modificateur d'accès n'est précisé pour une variable ou une méthode, celles-ci sont considérées comme `public` par défaut. Il n'y a donc rien à signaler ici. - Dans le diagramme UML, les attributs `couleur` et `direction` sont indiqués comme étant `protected`. Cependant, dans la première version du code générée et déposée par l'IA, ces attributs ont été déclarés en `private`. On a donc corrigé cette erreur. > **Après test de la classe :** tout fonctionne correctement, pas de nouvelle erreur. ### Pour ArrayPieceSquadro - J'avais demandé de ne coder que les méthodes définies dans le schéma UML. L'IA a cependant ajouté les méthodes des deux interfaces qu'elle a redéfinies. Cela peut être vu comme une initiative positive, mais ce n'était pas explicitement demandé. - Les messages d'erreur des exceptions générées sont en anglais, alors que le projet est spécifiquement en français. Nous avons donc corrigé ceci en mettant les commentaires en français. --- # PARTIE DARYL : ## Plateau Squadro - **Visibilité des constantes non précisées :** elle devrait être `public`. - RAS, quand la visibilité n'est pas précisée, elle est `public` par défaut. - **Types des variables d'instances non précisés de même que le retour des fonctions :** - Évidemment, j'ai oublié de le préciser dans mon prompt. - **Getters des lignes et colonnes jouables non faits :** - ChatGPT est nul ? Probablement prompt pas correctement fait. - **Méthodes `toJson`, `fromJson` et `__toString()` non implémentées :** - ChatGPT est nul ? Probablement prompt pas correct... Sérieusement ? ## Action Squadro - **Méthode `reculePiece` semble incorrecte :** - La remise à zéro est censée mettre les pièces se dirigeant vers l'est à l'est, vers l'ouest à l'ouest, ainsi de suite... ce qui n'est pas fait : toutes les pièces est-ouest sont remises à l'ouest et toutes les pièces nord-sud sont remises au nord. - **Méthode à tester** une fois les tests implémentés. - **Méthode `gererSautsAdversaires` venue de nulle part.** - **Méthode `jouePiece` à réécrire** puisqu'elle est censée utiliser `reculePiece` pour déplacer les pièces adversaires conformément aux règles du jeu.