Voici un exemple d'applet permettant de résoudre manuellement le problème des tours de Hanoï.
Vous devez déplacer tous les anneaux pour les emmener dans une autre tour.
Les règles sont les suivantes :
ß Vous ne pouvez déplacer qu'un seul anneau à la fois.
ß Vous ne pouvez déplacer qu'un anneau placé au sommet d'une tour.
ß Vous ne pouvez pas déposer un anneau sur un plus petit que lui.
En supposant que la syntaxe des manipulations repose sur des successions d'empilement et de dépilement d'anneaux, qu'il faut d'abord dépiler un anneau d'une tour, puis l'empiler sur une (autre) tour, et que ce dépilement se fait grâce à la manipulation des anneaux qui sont au sommet des tours, on peut aussi choisir de ne donner à l'utilisateur que des rétroactions syntaxiques.
Pour visualiser la manipulation d'un anneau pour effectuer un dépilement :
Un anneau "déplaçable" (au sommet d'une tour) est cyan et le curseur associé est une main un anneau "non déplaçable" (pas au sommet d'une tour) est bleu et le curseur associé est un sablier un anneau "en cours de déplacement" est magenta et le curseur associé est une croix de déplacement.
Pour visualiser une tour survolée par un anneau en déplacement :
Une tour non survolée est jauneune tour survolée par un anneau est verte car syntaxiquement on peut empiler l'anneau n'importe où.
Pour expliquer les erreurs :
Message d'erreurs après 3 tentatives consécutives de démarrage du DnD par clic "dans le vide" (ailleurs que sur un anneau).
Message d'erreurs après 3 tentatives consécutives de démarrage du DnD par clic sur un anneau qui n'est pas au sommet.
Dans cette situation, l’action de l'utilisateur peut échouer lorsqu’il veut déposer un anneau sur un plus petit que lui. Il n’est pas prévenu de l’erreur qu’il a commise.