So sieht das fertige Programm aus.
Die grafische Implementierung der Türme von Hanoi setzt das rekursive Prinzip der Türme fort. Dabei wird folgendes bekanntes Prinzip angewandt:
Pseudocode:
function loese(anzScheiben, von, zu, speicher)
wenn anzScheiben < 2
bewegeScheibe(von, zu)
sonst
loese(anzScheiben-1, von, speicher, zu)
bewegeScheibe(von, zu)
loese(speicher, zu, von)
Die Basis überprüft, ob nur noch eine Scheibe vorhanden ist, die dann einfach auf den Zielstapel gesetzt werden kann. Sollte das nicht der Fall sein, so werden erst alle Scheiben, bis auf die unterste Scheibe, auf den Speicherstapel (Anfangs der Stapel in der Mitte) verschoben. Dann die unterste Scheibe auf den Zielstapel gesetzt und danach die Scheiben von dem Zwischenspeicher auf den Zielstapel gesetzt. Dieses Prinzip wird dann für eine immer geringere Anzahl von Scheiben angewandt, bis nur noch eine Scheibe betrachtet wird. Danach kann man wieder für immer mehr Scheiben diese von dem Speicherstapel auf den Zielstapel verschieben.
Quelle: https://de.wikipedia.org/wiki/Datei:Tower_of_Hanoi.gif