package comzkingdemo01;To fix the errors in the code you need to make the following changes 1 Remove the line public class maoxianwang as it is not required in Python 2 Indent the entire
要修复代码中的错误,您需要进行以下更改:
-
删除
public class maoxianwang行,因为在Python中不需要。 -
正确缩进整个代码,因为Python使用缩进来定义代码块。
-
在类定义和方法定义的末尾添加冒号(
:)。 -
在
random模块的导入语句之前移除不必要的缩进。
以下是修正后的代码:
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("无效的行动!请重新选择!")
通过这些更改,代码现在应该可以运行而不会报错
原文地址: https://www.cveoy.top/t/topic/ic8H 著作权归作者所有。请勿转载和采集!