A game project I made in C++ in about three weeks. I used my knowledge from Manic Maze and even went a few steps further for this project.
I used the factory pattern to be able to load maps from a variety of sources. Maps can be read from file or be generated by my maze generator algorithm from Manic Maze. Secondly, the graphics of the level can be area based or bitmap based. In the first case you have repeating blocks (screenshot 1, 2 and 3), in the second case you have large bitmaps that cover the entire field (screenshot 4). I also introduced graphical themes for the area based graphics, so the same level can have a different look based on its theme.
The game is playable for up to 4 players (with up to 10 computer controlled enemies) and several team modes are supported. Finally, I created several objectives and constraints for the level to end. This makes it possible to create a playable campaign with different level objectives for each level (kill all enemies, reach the other end of the map, blow up all blocks, survive for 10 minutes, etc).
This is another project where I learned quite a lot about good Object Oriented software design. And since this was my first big C++ project, I also learned a great deal about C++.