Commit c0e84787 by BellCodeEditor

auto save

parent 720b1c35
Showing with 21 additions and 64 deletions
import random class Hero:
class Hero(object): def __init__(self,name):
def __init__(self, name): self.level=1
self.name = name self.name=name
self.level = 1 self.hp=200
self.hp = 250 self.attack=50
self.attack = 40 class player(Hero):
self.max_hp = self.hp def __init__(self,name,hero_type):
def cure(self): # 治疗 super().__init__(name) #super继承hero里的属性,就是把父类的代码都移到这里来,并可以更改
self.hp+=60 #super方法,父类有几个形参,他里面也得有几个形参
if self.hp>self.max_hp: self.level=2 #用了super()。函数,和父类一样的不用写,只写需要改的数据
self.hp=self.max_hp self.hero_type=hero_type
print(self.name+"使用了治疗,血量增加:", 60,",目前的血量为:",self.hp) self.hp=250
self.attack=100
def combat(self, enemy): # 普通攻击 print(self.name+'创建成功,类型为:'+self.hero_type)
info1 = self.name+"对"+enemy.name+"发起进攻," print(self.level,self.hp,self.attack) #每次开始时会执行一遍,不用另外打印
info2 = "造成"+str(self.attack)+"点伤害,"
enemy.hp -= self.attack yase=player('亚瑟','射手')
if enemy.hp > 0: houyi=Hero('后羿')
info3 = enemy.name+"还剩下"+str(enemy.hp)+"血量"
info = info1+info2+info3
print(info)
else:
info3 = enemy.name+"阵亡,游戏结束"
info = info1+info2+info3
print(info)
exit()
class Player(Hero):
def __init__(self,hero_type,name):
super().__init__(name)
self.hp = 200
self.attack = 50
self.max_hp = self.hp
self.hero_type = hero_type
print("角色"+self.name+"创建成功,英雄类型为:", self.hero_type)
print("当前等级、血量、攻击力分别为:",self.level,self.hp,self.attack)
def cure(self): # 治疗
blood=random.randint(30,50)
self.hp+=blood
if self.hp>self.max_hp:
self.hp=self.max_hp
print(self.name+"使用了治疗,血量增加:", blood,",目前的血量为:",self.hp)
houyi = Player("射手", "后羿")
yase = Hero("垭瑟")
while True:
print('-'*30)
choice=input('请输入1攻击/2治疗术:')
if choice=='q':
print('退出游戏')
break
elif choice=='1':
houyi.combat(yase)
elif choice=='2':
houyi.cure()
else:
print('输入错误,请重新输入')
continue
num=random.randint(1,3)
if num==1:
yase.combat(houyi)
else:
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