This project is a Pokemon battle simulator demonstrating OOP principles. There are two base classes with several children as shown in the following UML diagram:
The current implementation is incomplete. You should extend it to include the following:
- Add a
GrassAttack
class that is a child ofAttack
. - Add
VineWhip
, aGrassAttack
that deals 5 damage. - Add
Bulbasaur
, aGrassPokemon
with 20 HP that usesVineWhip
. - Add
Tackle
, anAttack
that deals 4 damage. - Add
Rattata
, aPokemon
with 16 HP that usesTackle
. - Adjust
FireAttack
to apply double damage toGrassPokemon
. - Adjust
GrassAttack
to apply double damage toWaterPokemon
. - Add
Charizard
, aFirePokemon
with 150 HP that uses a newFireAttack
calledFlameThrower
that deals 60 HP of damage. - Add
Venusaur
, aGrassPokemon
with 225 HP that uses a newGrassAttack
calledRazorLeaf
that deals 95 HP of damage.
Once these features have been added, all included doctests should pass. These can be executed by running:
python3 -m doctest battle.py
or simply:
make test