With this project, I made a Tower Defense game. In it, I have created several different objects including a map, map location, point, path, levels, as well as a variety of towers and enemies known as invaders. The different towers and invaders all inherited from a generic tower object and invader object. The goal of the game is to have the towers destroy all invaders before the invader reaches the end of the path.
When the game starts, it creates a 8×3 map (can be changed within the code). The path calculates the length of the map so that it stretches the full length while uses a random generator to generate some randomness to the path along the way. Towers are placed on the map in specific locations (each type has rules as to how far from the path they can be placed) and invaders spawn on each level. Each type of invader and tower have specialized capabilities like Sniper Towers can shooter further and Shielded Invaders have extra health. Each time the game is played yields a different result.