This is a robot game program. Version 1 of the program uses javafx to allow users to play the game with GUI, and version 2 calculates the least instructions needed to move the robot from one position to another. For detailed description of each version, see README file in each version's folder.
I used javafx to build a GUI application. This is a comparatively easier version, but one thing I want you to notice is that to build it, I actually learned JavaFX from scratch. The reason is that when I studied java GUI, my professor taught me S wing, and I have been told by many that Swing is nearly abandoned nowadays. Thus, to show my up-to-date knowledge and my efficient learning skill, I decided to self-study JavaFX when you gave me the challenges, and I built the Robot Game with it.
For v2, to show my knowledge about languages, I used C. For algorithm, I know a common approach to solve the problem is to use BFS or DFS to enumerate all possible states. I am very familiar with these two algorithms and they are guaranteed to give the correct answer to the problem. However, the time complexity of solving would then be O(3^n), which is a disaster. Thus, trying to find a better solution (and also trying to distinguish myself from those who are using DFS/BFS), I developed an algorithm by myself, which can calculate the shortest path and print the actual sequence of instructions in O(1) time. However, the only drawback with my algorithm is that the algorithm can only figure out the shortest path(s), and cannot display all the sequences within a certain limit.
Zhizhen (Eli) Qin
Email: [email protected]