Single-player game with 22 classes leveraging inheritance, polymorphism, and abstract base classes
Marble Madness is a maze-based game where the player navigates various levels, starting with three lives. Each level features a maze filled with blue crystals, enemies, and obstacles. The player's goal is to collect all blue crystals to reveal an exit and progress to the next level.
The player controls an avatar using arrow keys to move around the maze, avoiding enemies like robots and pits. They can push marbles and shoot a limited number of peas from a cannon to destroy robots and clear obstacles. Collectible items in the game include extra lives, health restores, and ammo.
Robots, such as Horizontal/Vertical RageBots and Regular/Mean ThiefBots, challenge the player. RageBots patrol specific rows or columns and shoot if the player crosses their path. ThiefBots steal goodies and, in the case of Mean ThiefBots, fire at the player. ThiefBots are created by factories throughout the maze.
Once all crystals are collected, the exit appears, and the player can progress to the next level. Points are awarded for collecting crystals and exiting levels quickly. The game ends when all levels are completed or the player runs out of lives.