Erstellen Sie eine Turing Maschine, das Spiel "Türme von Hanoi" implementiert.


Als nicht-rekursiver Algorithmus bietet sich derjenige von Buneman und Levy an, hier zitiert nach David Harel's Buch "Affenpuzzle":
  1. Führe folgendes solange aus, bis Schritt 1.2 nicht mehr möglich ist:
    1. bewege die kleinste Scheibe auf den im Uhrzeigersinn nächsten Turm;
    2. führe die einzig mögliche zulässige Bewegung mit einer anderen Scheibe als der kleinsten aus;
  2. halte an.

Ausgangslage

Damit die Türme von Hanoi in TuringKara mit vertretbarem Aufwand implementieren werden können, werden die Türme und Scheiben etwas abstrahiert dargestellt. Ein Turm ist eine Spalte, unten begrenzt durch das #-Symbol. Eine Scheibe wird als 0 dargestellt. Dabei muss man sich vorstellen, dass die unterste 0 die breiteste Scheibe ist und die oberste 0 die schmalste.

Schlussbedingungen

Der Turm muss gemäss der Regeln der Türme von Hanoi verschoben worden sein.