Thank you Zvoni for your concerns about game rules!
Okay, to express the rule more strict:
You are limited to move the topmost disk to any "free" position, where "free" means that no smaller disk is already present in target.
(Since topmost can be just 1 i'd thought it's self explanary that just 1 could be moved at a time)
For that purpose I have added under each tower 2 buttons to try move a disk somewhere.
The left tower disk can be moved to the middle or to the right tower.
The middle can move to left or right.
The right can move to middle or left.
At game start the left tower occupy all disks, the other towers are free for use.
I hope all rule related questions are clarified by this text.
Wishing you all a fantabulous weekend!
You misunderstood: I just quoted the "official" rules
https://en.wikipedia.org/wiki/Tower_of_HanoiSince this is supposed to be a game (as opposed to a "solving"-algorithm/function), i'd probably go along the lines of (didn't really think about it):
1) Each "rod" (of those 3) is a stack, where i can push, pop and peek a disk
2) Each disk gets a numerical value from Biggest to smallest (small=3, medium=2, big=1), which is returned bei "peek" (see 1). The rod itself gets value 0 ("Empty Stack")
3) a source-rod.pop and dest-rod.push is only possible, if it satisfies source-rod.Peek>dest-rod.peek