python用类写一个简单的猫狗大战游戏

模拟4399小游戏猫鼠大战,用类实现。

#创建一个角色类
class Role:
    def __init__(self,species,name,attack,HP):
        self.name = name
        self.species = species
        self.attack = attack
        self.HP = HP
    def role(self):
        print('你选择的是一只:%s  它的名字叫:%s  它的攻击力是:%s  它的生命值是:%s'%(self.species,self.name,self.attack,self.HP))

#创建修改生命值方法
def role_sub1(a, b):
    a.HP = a.HP - b.attack
    print('%s的生命值还有%d'%(a.species,a.HP))
def role_sub2(a,b):
    b.HP = b.HP - a.attack
    print('%s的生命值还有:%d'%(b.species,b.HP))

# 创建攻击方法
def attackfun(a, b):
    while a.HP > 0 and b.HP > 0:
        w = input('开始攻击:')
        if w == 'S' or w == 's':
            role_sub1(a, b)
        elif w == 'J' or w == 'j':
            role_sub2(a, b)
    else:
        if a.HP <= 0:
            print('猫获胜!')
        elif b.HP <= 0:
            print('狗获胜!')

#创建实例对象
a = Role('狗', '汪汪', 5, 20)
b = Role('猫', '喵喵', 6, 15)
#用循环来实现两个用户选角色
q = input('你是P1请选择你的角色(输入‘a’选择狗;输入b选择猫):')
if q == 'a':
    a.role()
elif q == 'b':
    b.role()
else:
    print('输入错误,请重新开始。')
print('游戏开始,P1输入‘S’键攻击,P2输入‘J’键攻击;P1先攻击。')

attackfun(a, b) #調用攻擊方法


你可能感兴趣的:(python,python,算法)