2024-04-20 12:56:53 发布
网友
我的代码可以在这里找到并运行:https://repl.it/Bda9/10
现在我主要关注“探索”然后“攻击”的路径,但是由于某些原因,这段代码不会运行一次攻击。我至少要在今晚之前把它修好。我们刚开始OOP。。。好。。。这让我很沮丧。你知道吗
是什么导致了这个错误? 为什么代码不能识别敌人(我想这就是错误的意思)?你知道吗
首先,您应该尝试pare down your code到一个最小的例子,这样回答者就不必做定位bug的工作。您还应该发布堆栈跟踪(复制提供它),这样我们就可以检查我们得到的错误是你做的一样。你知道吗
在Enemy.enemy_attacks方法中出现错误。在这个方法中,self引用Enemy对象,而不再像调用它的方法那样引用Player对象。敌人的属性,例如attack,是self的属性,而不是self.enemy;Enemy对象没有enemy属性,因此当你试图访问它时会出错。你知道吗
Enemy.enemy_attacks
self
Enemy
Player
attack
self.enemy
enemy
还要注意的是,在这个方法中,玩家是p(作为参数传递),而不是self.p(第66行;让玩家成为敌人的属性是有意义的,但你没有这样做)或player(第69行,可能只是一个输入错误)。你知道吗
p
self.p
player
你的困难似乎在于self的意思。如果这个答案不足以解决你的问题,试着编辑这个问题来增加你对self的理解。你知道吗
首先,您应该尝试pare down your code到一个最小的例子,这样回答者就不必做定位bug的工作。您还应该发布堆栈跟踪(复制提供它),这样我们就可以检查我们得到的错误是你做的一样。你知道吗
在
Enemy.enemy_attacks
方法中出现错误。在这个方法中,self
引用Enemy
对象,而不再像调用它的方法那样引用Player
对象。敌人的属性,例如attack
,是self
的属性,而不是self.enemy
;Enemy
对象没有enemy
属性,因此当你试图访问它时会出错。你知道吗还要注意的是,在这个方法中,玩家是
p
(作为参数传递),而不是self.p
(第66行;让玩家成为敌人的属性是有意义的,但你没有这样做)或player
(第69行,可能只是一个输入错误)。你知道吗你的困难似乎在于
self
的意思。如果这个答案不足以解决你的问题,试着编辑这个问题来增加你对self
的理解。你知道吗相关问题 更多 >
编程相关推荐