nikhil3456 / Bomberman

A terminal based variant of the classic bomberman game

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Language: Python 2.7
Python Libraries Needed:
	- numpy
	- termcolor

How to run:
    - python run.py

Features:
	- Different Characters have different color
	- Scoring: 
		* Kill Enemies: 100 pts
		* Destroy Bricks: 20 pts
	- There are a total of 4 lives per game
	- 2 types of enemies:
		* Enemy[RED]: Will move randomly 
		* Smart_enemy[Top: Yellow, Bottom: Red]: Will move towards the bomberman and appear in level-2 and level-3 only.
	- 3 types of levels:
		* Level 1: Few enemies, only single(Enemy) type of enemy is present
		* Level 2: More enemies, Both Smart_enemys and Enemy are present
		* Level 3: Lots of enemies, All the types of enemies are present
	- Input timeout: If no input is given in 1 second then the input timeouts and the next frame is printed.

Code Features:
    - Highly modular code (Most of the core game play elements have been separated into different modules)
    - Encapsulation (The various game play elements have been made into classes. eg Bomberman, Bomb etc)
    - Inheritance (Has been used whenever required. eg. Bomberman and Enemy classes inherits from Person class, Smart_enemy inherits from Enemy)
    - Polymorphism (eg. check_move of Person class has been overridden by Enemy as well as Bomberman class)
    - Certain important variables have been placed in config.py and are used everywhere by importing them.
      Thus, changing values in just one place will reflect in the whole game.
    - Conforms to the PEP8 coding standards

Symbols:
	- % : Wall
	- # : Bricks
	- Yellow color character: Bomberman
	- Red : Enemy
    - [Top: Yellow, Bottom: Red] : Smart_enemys
	- Red Numbers : Bomb 
    - [eeee] : Denotes Explosion Area
    
Controls:
	- a: left
	- s: down
	- d: right
	- w: up
	- b: plant bomb
	- q: quit game

Some Important rules:
    - Enemy or Player can move in Explosion area and they will destroy if they do so.
    - Smart enemies can't move in explosion
    - No one can move on the Bomb after planting the bomb by bomberman

About

A terminal based variant of the classic bomberman game


Languages

Language:Python 100.0%