Project Team – Khameleon
-
anna.d.petrova – Anna Petrova
-
ddonchev – Дончо Дончев
-
DinkoK – Динко Кръстев
-
Dsmilyanov – Димитър Смилянов
-
еlizabetg – Елизабет Гинчева
-
Ilian987 – Илиян Атков
-
NP.Kumanov – Nikolai Kumanov
-
timenov – Николай Димитров
-
todor_aleksandrov – Тодор Александров
-
todort80 – Тодор Тодоров
Project Description
Bomberman is a console game, in which the player (Bomberman) has to kill his enemies with bombs that he places on the ground. Bomberman is a strategic, maze-based console game. To successfully complete the
level the player has to kill all gads by strategically placing bombs. A player may put up to a three bombs at a time, each with a personal timer. The enemies also known as gads have patrol roads, which they do not leave and thankfully have only 1 hit point.
The bombs cannot break the labyrinth’s walls and kill gads on the other side of them. The bomb’s detonation kills all gads and Bomberman if they are inside the range. Unlike the gads Bomberman is harder to kill. He has 3 hit points, which can be
reduced to 0 by suicide bombing or getting caught by gads.
The Game Field is positioned in the center of the console window. (pictured below)

Above the Game Field is positioned the Logo of the Game.
The basic information for the controlsis on the right side of the Game Field.
-
Move the Bomberman – Arrow Keys
-
Put the Bomb from Bomberman – Space key
-
Save the game and exit – “S” Key
-
Load the last saved game – “L” Key
-
New Game – “N” Key
Project Structure
The project is composed of 6 files:
-
Game.sc – Main class of the game
o Contains 18 Methods
- PrintInfo() - Prints the information on the right part of the Main Window
- PrintLegend() – Prints the controls on the right part of the Main Window
- LogoPrint() – Prints the logo on the top of the game
- DropTheBomb(Bomb newBomb) – put the new bomb on the Game Field
- CheckBombs() – Check if any Bombs exist on the Game Field
- DetonationBombs(Bomb myBomb) – Dispay the Bombs explode
- CheckForGad(int y, int x) – Check if any enemies exist on the current position
- InitPlayerField(char[,] matrix) – Sets parameters on the Game Field
- DrawPlayerField(char[,] matrix) – Prints the Game Field
- DrawBomberman() – Prints the Bomberman char on into the Game Field
- ErasePosition(int y, int x) – Delete the char on the specific position
- PrintGad(Gad gad) – Display the enemies into the Game Field
- MoveGads() – Move the enemies into the Game Field
- CaptureKey() – Capture the user keys
- SaveGame() – Save the current game into binary File
- LoadGame() – Loads the previously saved game
- InitGame() – Initialization of the Game
- TimerCallback(Object o) – Increase the time for the Game
o 1 multi-dimensional array -
char[,] playerField
o 3 one-dimensional arrays -
List<Bomb> bombList, List<Gad> gadsList, List<Object> objList
o Sound effects during the gameplay -
Beep(3500,25), Beep(2000, 400), Beep(4000, 750)
o 3 existing .NET classes (ConsoleColor , FileStream, BinaryFormatter, Timer, MessageBox)
-
Man.cs – struct for Bomberman
-
Gad.cs – struct for the Enemies
-
Bomb.cs – struct for the bomb
-
IOSerialization.cs – class for file IO contains:
o 2 exception handlings
o Serialization of the data in the text file (binary) for game saving and loading
-
Position.cs – struct for the current position of the Bomberman in the Game Field
Web Page of the TFS repository for the Bomberman project: