Limitations of the design project:
- Time working with the Proteus was limited
- Although there was a plethora of time outside of class to edit and debug the game code, the only time to tell if the game code was actually working was during class periods
- Only so many enhancements that can be made to the game
- Because there was already a difficulty put in place in the game (the faster the dots appeared, the harder to touch), you cannot add different difficulty levels
- Screen space is limited
- In order to increase the difficulty, and entertainment of the game, there should be more random places that dots can appear, but due to the small Proteus screen, only 6 random positions can be used.
- Two Player Mode
- In order to make the game more interesting, two players should battle each other at the same time, but since only one Proteus is available, this is unable to happen.
Struggles that were Overcome:
- Initially, it was hard to make sure that the code was reverting back to the selection menu after the game was over, but this was overcome by putting a large while loop around the whole game code, that was “true” the entire time. Because of this, the selection menu appeared after each game.
- Also, it was hard to find the errors when the code was being debugged. This was overcome by using the arrows on the side of FEHQtCreator to condense the switch case statements. By doing this, it was easier to scroll through the code and detect errors
- While running the game, it was noticed that the score function was not working or being called correctly. This was fixed by inserting “pos, type, shape, and color”, into each of the times that poke was called.
- Finally, it was difficult to make sure that everything was being displayed correctly on the Proteus screen. This was fixed by having multiple guess-and-checks when testing the coordinates that each statement was being written at.
Performance and Recommendations:
Overall, the attached game code works properly, and you are able to play with one player, or two players. However, when displaying the score function on the leader board, it adds up the total of the scores, rather than placing them in a ranking order. Additionally, some of the bounds of the touch function are slightly off when the selection menu is on the screen.
It is recommended that more time be spent on the score function, and displaying the scores in order for the player to receive correct feedback on the amount of points they earned. This will cause the game to be more competitive. Additionally, the bounds featured in the “if” selection structure should be adjusted in order for the user to be able to more easily select their choice of game.
Finally, a little more time should be spent on organizing each of the “switch-case” selection structures, and if at all possible, condensing the code. This will help the code to be less confusing, and easier to debug. If more time is allotted, a theme song can be added to the title screen, and other screens can be made more aesthetically pleasing.