1)定义一个游戏中Hero 英雄的类,在该类中定义英雄的名字, 生命值和等级3 个属性,定义一个构造函数完成对生命值和等级的初始化,分别赋初值为100,1。同时实现名字的输入和英雄信息的输出。 2)在上一题的基础上,为英雄再定义拥有一个参数的构造方法,传入一个英雄类型的值,如果为1,则为普通英雄,生命值为100,如果该值为2,则为高级英雄,生命值初始化为200。 3)在上两英雄类型的基础上,为英雄添加一个基本战斗的方法, 该方法拥有一个英雄类型的参数,当传入另一个英雄时,能降低对方100 点血。 再增加一个绝招的重载方法,加入一个战斗类型参数,通过输入不同绝招参数,降低对方不同的血量。
时间: 2024-02-27 10:53:17 浏览: 111
好的,我来为您解答这个问题。
1)定义一个游戏中Hero 英雄的类,在该类中定义英雄的名字, 生命值和等级3 个属性,定义一个构造函数完成对生命值和等级的初始化,分别赋初值为100,1。同时实现名字的输入和英雄信息的输出。
```
class Hero:
def __init__(self, name):
self.name = name
self.hp = 100
self.level = 1
def show_info(self):
print("英雄名字:", self.name)
print("英雄生命值:", self.hp)
print("英雄等级:", self.level)
```
2)在上一题的基础上,为英雄再定义拥有一个参数的构造方法,传入一个英雄类型的值,如果为1,则为普通英雄,生命值为100,如果该值为2,则为高级英雄,生命值初始化为200。
```
class Hero:
def __init__(self, name, hero_type=1):
self.name = name
if hero_type == 1:
self.hp = 100
elif hero_type == 2:
self.hp = 200
else:
raise ValueError("英雄类型错误")
self.level = 1
def show_info(self):
print("英雄名字:", self.name)
print("英雄生命值:", self.hp)
print("英雄等级:", self.level)
```
3)在上两英雄类型的基础上,为英雄添加一个基本战斗的方法, 该方法拥有一个英雄类型的参数,当传入另一个英雄时,能降低对方100 点血。 再增加一个绝招的重载方法,加入一个战斗类型参数,通过输入不同绝招参数,降低对方不同的血量。
```
class Hero:
def __init__(self, name, hero_type=1):
self.name = name
if hero_type == 1:
self.hp = 100
elif hero_type == 2:
self.hp = 200
else:
raise ValueError("英雄类型错误")
self.level = 1
def show_info(self):
print("英雄名字:", self.name)
print("英雄生命值:", self.hp)
print("英雄等级:", self.level)
def attack(self, other_hero):
other_hero.hp -= 100
print(self.name, "攻击了", other_hero.name)
print(other_hero.name, "受到了100点伤害")
def ultimate(self, other_hero, skill_type):
if skill_type == "大招1":
other_hero.hp -= 200
print(self.name, "使用了大招1攻击了", other_hero.name)
print(other_hero.name, "受到了200点伤害")
elif skill_type == "大招2":
other_hero.hp -= 300
print(self.name, "使用了大招2攻击了", other_hero.name)
print(other_hero.name, "受到了300点伤害")
else:
raise ValueError("绝招类型错误")
```
以上就是这个题目的解答,希望能够帮到您!
阅读全文