Hanoiの設計「塔」をjava.util.Stackを用いて表わすことを決めたので、これを用いて「ハノイの塔」のクラス、Hanoiクラスを考えます。
クラスHanoiでの状態として
があります。
そのTowerに行なえる操作として
を考えました。
最後の「状態を描く」をクラスHanoiに持たせるか他のクラスに持たせるか悩んだのですが、ここではクラスHanoiに持たせることにしました(後から考えるとこれは失敗だったようです)。
状態を変数で操作をメソッドで実装するので、名前を
Stack[] tower
isEndOfWorld()
moveRing()
print()
と決めました。