This project represents a simple game of Hanoi Towers. Your goal is to move all ring from the first stick to another. However, you can move only one ring at time and you can't put larger ring on the top of the smaller one. For controls, scroll down.
The game features very advanced AI, that will help you to accomplish your goal by always moving you in the right direction. You can start the game manually and whenever you feel lost, you just press A
and the game will take care of the rest.
First, it will reverse your bad moves until your last good step and then it will continue with solving.
On Linux/Mac:
./gradlew clean run
On Windows:
gradlew.bat clean run
Run the script from within the root folder of the project.
-
Manual mode:
- Each step consists of selecting the origin stick and the target stick.
- This can be done using keys
1
,2
or3
each representing exactly one stick - For example the sequence of keys
1 3
means that the player wants to move one ring from the leftmost stick to the rightmost one. - Sequence of two identical numbers (eg.
1 1
) is invalid and will be ignored. - The desired sequence can be modified. The sequence of keys
1 2 3 1 3
will result in the valid sequence3 1
. Similarly the sequence1 2 2 1
ends up as2 1
- The sequence of numbers is then confirmed with
Enter
. - The whole user input can be cleared using
C
. - User can switch to the automatic mode using
A
.
-
Automatic mode:
- The automatic mode continuously tries to solve the problem.
- The automatic mode can be stopped using
M
which also switches the game into the manual mode.
-
Once the game is finished (all rings are moved to the stick that is different than the origin), it can be reset using
R
. -
Menu can be shown using
P
. -
Menu can be hidden using
P
.
- At least 2 lights
- Animations
- Textures (at least 8 objects, using at least 3 distinct textures)
- Number of objects in the scene (at least 10 objects, at least 3 distinct, at least 8 loaded from file)
- GUI
- Conic lights
- Procedural textures (brick wall)
- Sounds