Ce monde implémente le problème ultra classique de Hanoï. Il vous est demandé de déplacer une pile de disques du piquet où ils se trouvent vers un piquet cible (passé comme second paramètre dans le nom du monde -- numéro 1 pour le monde par défaut). Il y a quelques contraintes supplémentaires: il est interdit de déplacer plus d'un disque à la fois, ainsi que de placer un disque plus grand sur un disque plus petit.
Seules quatre fonctions sont fournies :
[!java|c]void [/!]deplace([!java|c]int [/!]src, [!java|c]int [/!]dst)Elle déplace un disque d'un piquet
src
vers le piquet
dst
. Si vous demandez un déplacement invalide (comme le
placement d'un disque sur un disque plus petit), une exception
IllegalArgumentException est levée.
[!java|c]int [/!]getTaillePiquet([!java|c]int [/!]slot)[!scala]:Int[/!]Retourne le nombre de disques placés sur un piquet donné. Cette fonction est surtout utile pour initialiser la récursion et déterminer le nombre d'appels récursifs à réaliser.
[!java|c]int [/!]getRayonPiquet([!java|c]int [/!]slot)[!scala]:Int[/!]Retourne le rayon du disque placé en haut du piquet spécifié.
[!java]boolean [/!][!c]int [/!]estChoisie()[!scala]:Boolean[/!]Renvoi si le monde actuel est sélectionné dans l'interface graphique.