Au premier abord, j'ai une remarque à faire concernant les noms de variables et commentaires.
Par exemple pourquoi mettre un nom de variable qui ne veut rien dire et de le commenter pour expliquer à quoi il correspond au lieu de directement bien nommer ta variable ?
Pour moi par exemple ça :
Menu parent; // Référencie le menu.
Jeu parent2; // Référencie le jeu
deviendrait plus un truc comme ça :
Menu fenetreDuMenu;
Jeu fenetreDeJeu;
De même si tu as autant de commentaires, c'est que ton codes n'est pas clair. Essaie de découper tes méthodes en sous méthodes et de donner des noms clairs pour que l'on comprenne tout de suite la logique.
par exemple au lieu de ça :
// Vérifie s'il reste 1 coups à jouer, sinon termine la partie.
if (coups > 0) {
tu mets ça :
if(partiePasFinie())
....
private boolean partiePasFinie(){
return coups>0;
}
En tout cas j'espère que ça te sera utile et bonne continuation pour ton apprentissage !