制作一个简单的文本rpg,并且出现属性错误?

时间:2018-10-02 15:53:34

标签: python attributeerror

所以我一直在做LPTHW,您知道我们应该做的“制作基于文本的RPG”吗?好吧,我当然一直在做,但是每次我尝试运行它时,都会弹出此错误:

File "DimensionSpace.py", line 826, in <module>
    a_game.play()
  File "DimensionSpace.py", line 22, in play
    next_scene_name = current_scene.enter()
AttributeError: 'function' object has no attribute 'enter'

我实际上很困惑。那部分是我为书坚持的部分。代码如下所示:

    from sys import exit
from random import randint
from textwrap import dedent

class Scene(object):

    def enter(self):
       print("This scene is not yet configured.")
       print("Subclass it and implement enter().")
       exit(1)

class Engine(object):

    def __init__(self, scene_map):
        self.scene_map = scene_map

    def play(self):
        current_scene = self.scene_map.opening_scene
        last_scene = self.scene_map.next_scene('credits')

        while current_scene != last_scene:
            next_scene_name = current_scene.enter()
            current_scene = self.scene_map.next_scene(next_scene_name)

        current_scene.enter()

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

我认为您缺少播放功能中的括号:

current_scene = self.scene_map.opening_scene()

由于您没有调用函数,因此也没有找回场景对象,因此请将函数本身分配给current_scene。在函数对象上调用enter函数没有任何意义。