面向对象编程三(英雄PK游戏设计、继承)
  2LzAzYhjn3vW 2023年11月02日 58 0

随着时代的发展,游戏成为很多人释放压力的重要途经,但怎样设计自己的英雄呢?英雄之间的对战又是什么样的呢?以下为两个英雄PK的简单模拟。

# 请设计如下类,不用测试
import random
#     1.英雄父类:  -->初始化属性:姓名,血量
class Hero:
    def __init__(self,name,blood):
        self.name=name
        self.blood=blood
#     2. 英雄子类1--智力英雄类:
#             增加属性:智力,初始化属性,
#                      并且调用英雄父类init函数
#             行为consume:返回一个随机伤害数值
class Hero_intelligence(Hero):
    def __init__(self,name,blood,intelligence):
        super().__init__(name,blood)
        self.intelligence=intelligence

    def consume(self):
        return  random.randint(10,20)
#     3. 英雄子类2--力量英雄类:
#             增加属性: face,初始化属性,
#                      并且调用英雄父类init函数
#             行为consume:返回一个随机伤害数值
class Hero_Power(Hero):
    def __init__(self,name,blood,face):
        super().__init__(name,blood)
        self.face=face
    def consume(self):
        return  random.randint(10,20)
#     4.构建游戏,创建玩家并测试:
hr1=Hero_intelligence('李白',100,200)
hr2=Hero_intelligence('猴子',100,500)

while True:
    num=random.randint(0,1)
    if hr2.blood<=0 or hr1.blood<=0:
        print("game over!")
        break
    if num ==0:
        consume=hr1.consume()
        hr2.blood -=consume
        if hr2.blood <=0:
            print(hr2.name,"阵亡!")
        else:
            print(f'{hr1.name}剩余血量为{hr1.blood},{hr2.name}剩余血量为{hr2.blood}')
    else:
        consume=hr2.consume()
        hr1.blood -= consume
        if hr1.blood <=0:
            print(hr1.name,"阵亡!")
        else:
            print(f'{hr1.name}剩余血量为{hr1.blood},{hr2.name}剩余血量为{hr2.blood}')

运行结果:

面向对象编程三(英雄PK游戏设计、继承)_子类

面向对象编程三(英雄PK游戏设计、继承)_继承_02

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
git
  KRsXEGSB49bk   2023年11月19日   19   0   0 git远程仓库初始化
  6RHESoY2tEQV   2023年11月02日   69   0   0 初始化rediscentos
  L83A5jZvvg3Q   2023年11月19日   25   0   0 vim初始化物理内存
2LzAzYhjn3vW