public class maoxianwang import randomclass AdventureKing def __init__self name selfname = name selflevel = 1 selfhealth = 100 selfattack_power = 10 def attac
To fix the errors in the code, you need to make the following changes:
-
Remove the line
public class maoxianwangas it is not required in Python. -
Indent the entire code properly, as Python uses indentation to define code blocks.
-
Add a colon (
:) at the end of the class definitions and method definitions. -
Remove the unnecessary indentation before the import statement for the
randommodule.
Here is the corrected code:
import random
class AdventureKing:
def __init__(self, name):
self.name = name
self.level = 1
self.health = 100
self.attack_power = 10
def attack(self, enemy):
damage = random.randint(1, self.attack_power)
enemy.health -= damage
print(f"{self.name}攻击了{enemy.name},造成了{damage}点伤害!")
def heal(self):
self.health += random.randint(5, 10)
print(f"{self.name}恢复了一些生命值,当前生命值为{self.health}!")
def level_up(self):
self.level += 1
self.attack_power += 5
print(f"{self.name}升级了!当前等级为{self.level},攻击力提升为{self.attack_power}!")
class Enemy:
def __init__(self, name, health, attack_power):
self.name = name
self.health = health
self.attack_power = attack_power
def attack(self, player):
damage = random.randint(1, self.attack_power)
player.health -= damage
print(f"{self.name}攻击了{player.name},造成了{damage}点伤害!")
def is_defeated(self):
return self.health <= 0
# 创建冒险王和敌人实例
player = AdventureKing("冒险王")
enemy = Enemy("恶龙", 200, 20)
# 开始冒险
while True:
action = input("请选择行动:1. 攻击 2. 恢复生命值\n")
if action == "1":
player.attack(enemy)
if enemy.is_defeated():
print(f"{enemy.name}被击败了!冒险王获得了胜利!")
player.level_up()
break
enemy.attack(player)
if player.health <= 0:
print(f"{player.name}被击败了!冒险失败!")
break
elif action == "2":
player.heal()
enemy.attack(player)
if player.health <= 0:
print(f"{player.name}被击败了!冒险失败!")
break
else:
print("无效的行动!请重新选择!")
With these changes, the code should now run without any errors
原文地址: https://www.cveoy.top/t/topic/ic8s 著作权归作者所有。请勿转载和采集!