Classic Bomberman game
Implement next variations of the game:
- Game for 2 players on 1 device.
- Game against computer.
Game should comply with this interface:
Load map levelsfrom the pakage.
- Players can pick up configurable
bonusesfrom the ground(increasing flame power, additional bombs, speed increase, set off bombs on distance).
Saving the best scoreto the leaderboards.
There can we use polymorphism?:
- Managing players: local player, AI(different variations).
- User interface: console, ncurses, SDL OpenGl, etc .
- Effects of bonuses: flame power increase, additional bombs, etc.
For more information:
We will be implementing a classic Bomberman game. The user interface allows you to choose between single-player (game against the computer) and multiplayer(game on one device for at least 2 players). At the beginning of the game, each player has 1 bomb, which is replenished after each detonation. However, for increasing the probability of winning, players are recommended to collect bonuses, which are randomly scattered across the map, see Bonuses list. In single-player mode the main goal is to kill all monsters by placing down and detonating bombs, after killing all enemies, the player will be advanced to the next level. In multiplayer, the winner is decided by the last player standing alive.
Usage of polymorphism in this project:
Abstract scheme of my implementation:
- We have an abstract class
AbstractObject, which has a common implementation for all other classes.
MovableObjectare abstract classes as well but have different interfaces for their own needs.
- Having this architecture allows us to avoid unnecessary copy/paste when creating class objects, or invoking its methods, as we only should pass
AbstractClassin function parameters.
MovableObject. For these classes we will use polymorphism, as the vast majority of functions are the same, but they should vary in implementation