Делаете простой текстовый рпг и есть ошибка атрибута? - PullRequest
0 голосов
/ 02 октября 2018

Итак, я занимался 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 голосов
/ 02 октября 2018

Я думаю, вам не хватает скобок в вашей функции воспроизведения:

current_scene = self.scene_map.opening_scene()

Поскольку вы не вызываете функцию и, следовательно, не получаете объект сцены обратно, вы назначаете саму функцию current_scene,Вызов функции ввода для объекта функции не имеет смысла.

...