Le 03 décembre 2018 à 22:13:44 Bunyan a écrit :
Évite d'utiliser des tableaux ( [] ) et passe plutôt aux List.
Sauf dans certains contextes (manipulation de bits, principalement), les tableaux sont rarement utilisés.
J'ai utilisé un ArrayList pour les emplacements des tours puisque ils augmentaient selon la difficulté, mais je pensais que lorsqu'on connaissait dès le départ le nombre d'éléments, et que celui-ci ne devait pas changer c'était mieux les tableaux 
En quoi les List sont mieux du coup ?
Préfère déclarer une variable par ligne, surtout si tu les initialises. Ca rallonge un peu, c'est sûr, mais la lisibilité y gagne.
Je vais essayer de prendre cette habitude alors, merci 
Pense à utiliser des constantes.
J'ai pas encore revu les constantes, je me souviens plus ou moins de ce que c'est mais j'y ai pensé que sur la fin et du coup pas envie de recommencer, j'irai lire la partie là dessus maintenant 
Tu peux rendre encore plus générique afficherTour en créant une autre méthode qui ne prend qu'une simple Tour en argument.
Tu peux découper deplacerDisque en de plus petites méthodes.
C'est vrai que je me suis vraiment fait chier à les écrire celles là (surtout déplacerDisque). Ca pose pas de souci d'impriquer plusieurs méthodes dans une méthode ? Même si elle est aussi "petite" que celle là ?
Par contre je peux pas afficher les tours une par une ou alors il faudrait qu'elles soient à la verticale...
Tu peux potentiellement améliorer en rendant une Tour consciente de la taille de son plus haut disque.
Idem, tu peux lui créer une autre méthode simple "estVide" par exemple, ou encore "estPleine".
Même si je peux le vérifier en une seule condition comme là dessus ?
Préfère utilise l'instruction "break" pour quitter une boucle.
Ok, j'avais oublié cette instruction 
Ton premier test ligne 86 n'a aucune raison d'être dans la boucle.
Dans la boucle for ? C'est vrai ça simplifierait le code 
Tu peux beaucoup simplifier partieTeminee avec un simple return 
Si j'enlève "else return false;" ça revient au même ?
Je ne vois pas de contrôle de la taille de l'anneau, l'as-tu prévu ? Un anneau plus petit ne peut être sous un plus grand.
C'est, je pense, ce qu'il te manque, pour que ta classe Disque ait une réelle utilité.
C'est la ligne 92, je vérifie plutôt si un anneau plus grand n'est pas posé sur un plus petit
Tu peux aussi utiliser des Piles, pour tes tours 
Pas encore vu les piles 
En tout cas un gros merci pour ta réponse et pour avoir pris le temps de lire et comprendre cette bouillie qui sert de code 