D. Discussion

Code performance and limitations:
The Proteus controller is not optimal for a game like this. The time it takes to redraw the screen after a clear() causes a flickering effect. Hit detection (deaths) lag a little behind the real collision, and while generally, deaths are accurate, the player can die with no warning about 1 in 30 playthroughs, sometimes before a cactus or pterodactyl even spawns. Cactus generation begins as random, and lapses into timed spawns after a short period of time. Menus and scores function as intended, and scores correctly sort the top 5 scores.
With more time, the cactus generation could be fixed. Also, a system of purely cosmetic hats could be added to the game, unlockable by certain distances traveled or cacti jumped. Sprites could be animated, and a background could be added.
The hardest function to implement was the function that reset cacti, initially the plan was to create new objects every time a cactus needed to be spawned at the right side of the screen, but this was found to be impossible (or too difficult). This was overcome by creating a function that reset the cacti to the right side of the screen, meaning that there could only be 3 cacti on screen (there were only three total class instances of “cactus”).