Commit 2536680c by BellCodeEditor

auto save

parent f19096ae
Showing with 67 additions and 0 deletions
import random
class Hero:  # 英雄类
    def __init__(self, name):  # 实例属性
        self.name = name
        self.level = 1
        self.hp = 250
        self.attack = 40
        self.max_hp = self.hp
        #最大血量值设为250
    def combat(self, enemy):    # 攻击功能
        info1 = self.name+"对"+enemy.name+"发起进攻,"
        info2 = "造成"+str(self.attack)+"点伤害,"
        enemy.hp -= self.attack
        if enemy.hp > 0:
            info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量"
            info = info1+info2+info3
            print(info)
        else:
            info3 = enemy.name+"阵亡,游戏结束"
            info = info1+info2+info3
            print(info)
            exit()   
    def cure(self):#治疗术
        self.hp = self.hp + 60
        if self.max_hp < self.hp:
            self.hp = self.max_hp
        print(self,"使用了治疗术,回复了60血量,现血量为:",self.hp)
class Player(Hero):   # 电脑控制的英雄
    def __init__(self,name,kinds):
        super().__init__(name)
        self.hp = 300
        self.attack = 40
        self.max_hp = self.hp
        print("英雄",name,"创建成功。英雄类型为",kinds)#在_init_方法中进行print
        print("当前等级、血量、攻击力分别为:",self.level,self.hp,self.attack)
    def cure(self):#治疗术
swa = random.randint(30,50)
        self.hp = self.hp + swa
        if self.max_hp < self.hp:
            self.hp = self.max_hp
        print(self,"使用了治疗术,回复了",swa,"血量,现血量为:",self.hp)
houyi = Player("后羿","射手")
yase = Hero("亚瑟",300,40)
print('-'*30)
print(' 战斗开始')
while True:
    print('-'*30)
    a = input("请释放英雄技能(1攻击,2治疗)")
    if a == "q":
        print("Game over")
break
elif a == "1":
yase.combot("后羿")
elif a == "2":
yase.cure("后羿")
else:
print("请重新输入!")
continue
#敌方攻击
b = random.randint(1,3)
if b == 1:
yase.combot()
elif b == 2 or b == 3:
yase.cure()
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment