Question
13.11 Programming Assignment 4- Build a Monster Construct a class Monster with the following attributes: self.name (a.string) self.type (a string, default is Normal) self.current hp
13.11 Programming Assignment 4- Build a Monster
Construct a class Monster with the following attributes:
- self.name (a.string)
- self.type (a string, default is Normal)
- self.currenthp (int, start out equal to maxhp)
- self.max_hp ( int, is given as input when the class instance is created, default is 20)
- self.attacks (a dictionary of all known attacks)
- self. possible_attacks ( a dictionary of all possible attacks)
The dictionary of possible_attacks will map the name of an attack ( the key) to how many points of damage the attack does. They must be of the following list:
- sneak_attack: 1
- slash: 2
- ice_storm: 3
- fire_storm: 3
- whirlwind: 3
- earthquake: 2
- double_hit: 4
- tornado: 4
- wait: 0
Every monster will start out with only the wait attack within self.attacks.
You will need to construct the method add_attack and remove_attack. Both methods will take in an attack name as a parameter. A monster can only have a maximum of four attacks at a time. If you add an attack when the monster already has four, the weakest one should be dropped automatically. If there is a tie for the weakest attack, drop the attack that comes first alphabetically. If adding the attack ended successfully, return True. If you try to add an invalid attack return False. If all of a monsters attacks are removed, wait should automatically be added again, so that every monster always has at least 1 attack. If removing an attack ended successfully return True. If you try to remove an invalid attack or an attack that has not been learned return False.
IN PYTHON PLEASE
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started