/Tower-of-Hanoi

The classic game, Tower of Hanoi in Python

Primary LanguagePython

Tower of Hanoi

(https://en.wikipedia.org/wiki/Tower_of_Hanoi) The Tower of Hanoi (also called the Tower of Brahma or Lucas' Tower[1] and sometimes pluralized as Towers) is a mathematical game or puzzle. It consists of three rods and a number of disks of different sizes, which can slide onto any rod. The puzzle starts with the disks in a neat stack in ascending order of size on one rod, the smallest at the top, thus making a conical shape.

The objective of the puzzle is to move the entire stack to another rod, obeying the following simple rules:

Only one disk can be moved at a time.
Each move consists of taking the upper disk from one of the stacks 
and placing it on top of another stack or on an empty rod.
No larger disk may be placed on top of a smaller disk.

With 3 disks, the puzzle can be solved in 7 moves. The minimal number of moves required to solve a Tower of Hanoi puzzle is 2n − 1, where n is the number of disks

Terminal Program

The terminal version is named:

tour.py

Shows a visual demonstration of the minimal amount of moves required to move the tower.

In the terminal, type:

python3 tour.py

to run the program and see the algorithm solve the path.

GUI Program

The gui version allows for the user to play the game and attempt to move the tower with a mouse.

In the terminal, type: python3 gui_controller.py and the following screen should appear.

Screen Shot 2021-08-06 at 11 37 44 AM