python class类的属性应用及init初始化实践 ---勇者斗恶龙

  最近在熟悉python的基础语法,刚好老师布置了个课后作业感觉挺有意思的,就记录下来了学习过程。

题目如下:

python class类的属性应用及init初始化实践 ---勇者斗恶龙

 

 

刚拿到题目就想到了init 初始化属性,还列了下思路:(ps:notepad++写的比较糙)

python class类的属性应用及init初始化实践 ---勇者斗恶龙

 

 

 最终成品就长这样,编码的时候还遇到用A的攻击攻击A的情况,后来修正了一波,勉强算是符合老师的要求了。里面的数据没考虑合理性, 有软测的可以帮忙跑跑找找bug。也欢迎完善指正~~

1 #!/usr/bin/python3 2 # -*- coding: utf-8 -*- 3 # @Time : 2020/4/11:13:51 4 # @Author : 翼风语 5 6 import random 7 class hero(): 8 def __init__(self, hp, ap, wq=0): 9 ''' 10 set default param 11 :param hp: 生命 12 :param ap: 攻击 13 :param wq: 武器伤害 14 ''' 15 self.hp = hp 16 self.ap = ap 17 self.wq = wq 18 19 def hurt(self,value): 20 self.hp = self.hp - value 21 print("勇者受到了 "+str(value)+" 点伤害,生命还有"+str(self.hp)) 22 if(self.hp <= 0): 23 print("一切都是命中注定,是否卷土重来?") 24 raise 25 26 class dinosaur(): 27 def __init__(self, hp, ap): 28 """ 29 set default param 30 :param hp: 31 :param ap: 32 """ 33 self.hp = hp 34 self.ap = ap 35 def hurt(self,value): 36 self.hp = self.hp - value 37 print("恶龙受到了 "+str(value)+" 点伤害,生命还有"+str(self.hp)) 38 if(self.hp <= 0): 39 print("恭喜你完成了‘世界和平’任务") 40 raise 41 42 if __name__ == "__main__": 43 su = hero(200,10,25) 44 mk = dinosaur(1000,3) 45 n = 1 46 while True: 47 i = random.randint(0,5) # 伤害上限高 48 j = random.randint(1,3) # 输出比较稳 49 try: 50 print("-------round:%s------" % str(n)) 51 su.hurt(i+mk.ap) 52 mk.hurt(j+su.ap+su.wq) 53 n= n+1 54 except: 55 break

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzdgsd.html