请写一个小游戏,人狗大战,2个角色,人和狗,游戏开始后,生成2个人,3条狗,互相混战,人被狗咬了会掉血(生命值减少),狗被人打了也掉血(生命值减少)。注意,狗和人的攻击力及生命值都不一样。
基类Role定义如下:
classRole(object):def__init__(self,name):self.name=namedefattack(self,enemy):#攻击敌人的方法enemy.life_value-=self.agressivity要求:
(1)请根据题意定义子类Dog和People。
(2)并编写测试代码,输出人狗混战后各自的生命值。
classRole(object):def__init__(self,name):self.name=namedefattack(self,enemy):#攻击敌人的方法enemy.life_value-=self.agressivityclassDog(Role):life_value=50agressivity=10classPeople(Role):life_value=100agressivity=5if__name__=='__main__':people1=People('people1')people2=People('people2')dog1=Dog('dog1')dog2=Dog('dog2')dog3=Dog('dog3')#混战开始dog1.attack(people2)people1.attack(dog3)people2.attack(dog1)dog1.attack(people2)dog2.attack(people2)dog2.attack(people1)dog3.attack(people1)#输出各自的生命值print('{}的生命值为:{}'.format(dog1.name,dog1.life_value))print('{}的生命值为:{}'.format(dog2.name,dog2.life_value))print('{}的生命值为:{}'.format(dog3.name,dog3.life_value))print('{}的生命值为:{}'.format(people1.name,people1.life_value))print('{}的生命值为:{}'.format(people2.name,people2.life_value))
输出结果:
dog1的生命值为:45dog2的生命值为:50dog3的生命值为:45people1的生命值为:80people2的生命值为:70