文章
  • 文章
搜索
首页 >> 学习资源 >>学习文章 >> python典型案例猫狗大战
详细内容

python典型案例猫狗大战

题目:

请写一个小游戏,人狗大战,2个人物,人和狗,游戏开始,生成2个人,3条狗,互相混战,人被狗咬了会掉血(生命值减少),狗被人打了也掉血(生命值减少)。

注意,狗和人的攻击力和生命值是不一样的。

基类Role定义如下:

class Role(object):
    def __init__(self, name):
        self.name = name

    def attack(self, enemy):  # 攻击敌人的方法
        enemy.life_value -= self.agressivity


要求:

(1)请根据题意定义子类Dog和People。

(2)并编写测试代码,输出人狗混战后各自的生命值。


class Role(object):
def __init__(self, name):
self.name = name

def attack(self, enemy): # 攻击敌人的方法
enemy.life_value -= self.agressivity



class Dog(Role):
life_value = 50
agressivity = 10


class People(Role):
life_value = 100
agressivity = 5


if __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))


深圳市虫之教育科技有限公司                                


地址:深圳市宝安区西乡街道前进二路美兰商务中心1306(宝安客运中心地铁口D步行2分钟直达)

               

联系QQ:1548566955  联系电话:17724692428  粤ICP备20015782号

技术支持: 遨游云网络 | 管理登录
seo seo