Python教程

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

 

输出结果:

dog1的生命值为:45
dog2的生命值为:50
dog3的生命值为:45
people1的生命值为:80
people2的生命值为:70

 

这篇关于python代码练习:人狗大战的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!