An easy to dev game to practice SOLID and other OOP Principles. In this game, only a few features will be implemented.
Blind Warrior is a command line game. It tells the history of a blind warrior named ZISKA. One day, during his daily breakfast at the Queen Sophia's Cafeteria, the entire city was invaded by the army of the German Empire. A noble hero does not flee without a fight: Ziska took a weapon and fought against all enemies.
The game will have no input options. Here what it will do:
- the player will start the game
- the game will create the player
- the game will create the enemies
- the game will auto start the game
- the game will play all rounds until face the "game over conditions"
What the game should output to the user:
- Which character the player is fighting with
- What was the fight result: who wins/loses and remaning player health
- At the end of game should be printed:
- the reason of the end of game
- how many enemies was killed
- All Ziska actions in the game are played by the computer
- Ziska will attack every people he finds on his way
- Ziska can use any weapon, whereas this weapon could not took more than 39% of an enemy health/life
- Enemies also can use any weapon, whereas this weapon could not took more than 59% of an enemy health/life
- All weapon has no usage limit ( auto-infinity weapon cheat :P )
- Citizens have no weapon or their weapon could not hurt Ziska
- The characters Ziska will fight should be shuffled before the game starts
- The game is a survivor: no life recharge for Ziska until the end of game.
The game starts with Ziska, the citizens and the enemy army with their respectives weapons. So, Ziska fight ( one-by-one ) with every one he finds in the city. The game finishes when found one of the "game over conditions".
The game will be considered finished when:
- There are no remaining enemies alive
- Ziska is dead ( has no health/life available )
- Ziska killed an innocent citizen.
It is expected that the game developed should comply with the following considerations:
- The entire software should respect the 4 rules of Simple Design from Ken Beck.
- Classes should respect the Law of Demeter
- Methods should have no more than 10 lines
- Classes should respect the Single Responsibility Principle
- It could be possible to run with a single ( and simple ) command
- It could be possible to build the game with a single ( and simple ) command