所以我一直在做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()
有人可以帮我吗?
答案 0 :(得分:0)
我认为您缺少播放功能中的括号:
current_scene = self.scene_map.opening_scene()
由于您没有调用函数,因此也没有找回场景对象,因此请将函数本身分配给current_scene
。在函数对象上调用enter函数没有任何意义。