0
所以我在這裏搜索了其他練習43個問題,沒有發現我遇到的問題。Learn Python the Hard Way練習43錯誤
參考:http://learnpythonthehardway.org/book/ex43.html
創建準確顯示爲是遊戲(據我所知)後,我不能爲我的生活弄清楚如何使之運行。這是我的錯誤:
Traceback (most recent call last):
File "ex43.py", line 220, in <module>
a_game.play()
File "ex43.py", line 20, in play
next_scene_name = current_scene.enter()
AttributeError: 'function' object has no attribute 'enter'
我所有的場景具有Enter在一開始的屬性,並且似乎都正常,據我可以告訴格式化。遊戲應該看到「.enter()」,然後直接打印「CentralCorridor」類中的內容。任何人都知道我可以如何解決這個錯誤?
這裏是中央走廊場景的微小片段:
class CentralCorridor(Scene):
def enter(self):
print "bla"
print "more bla"
下面是引擎代碼的樣子:
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('finished')
while current_scene != last_scene:
next_scene_name = current_scene.enter()
current_scene = self.scene_map.next_scene(next_scene_name)
current_scene.enter()
感謝您的幫助!
由於錯誤消息告訴你,'current_scene'是一個**函數**,而不是'Scene'子類實例;沒有[最小示例](http://stackoverflow.com/help/mcve),我不能告訴你爲什麼! – jonrsharpe
您肯定需要顯示一些代碼。也許_你的類'Engine'(或類'Map')?可能是缺少'()',但沒有看到你的代碼,這是純粹的猜測... –
添加在我的引擎類。據我所知,它看起來像文中提供的例子。 –