0

我有这段代码,我想做的是调用显示函数,但它给了我错误。这是代码:

level = [0, 0, 0,
         0, 1, 0,
         0, 0, 0]

class player:
    def getPlayerLoc(self, level):
        for i in level:
            if level[level.index(i)] == 1:
                print level.index(i)

    def display(self, level, levelx, levely):
        for i in level:
            layer = ""
            for h in range(levely): 
                height = h+1
                if level.index(i) < levelx*height and level.index(i) >= levelx*h:
                    if level[level.index(i)] == 0:
                        layer = layer + " - "
                    elif level[level.index(i)] == 1:
                        layer = layer + " O "

                if height == levely:
                    print layer
                    layer = ""

p1 = player()
p1.getPlayerLoc(level)
p1.display(level, 3, 3)

输出是:

4
Traceback (most recent call last):
  File "gamy.py", line 28, in <module>
    p1.display(level, 3, 3)
AttributeError: player instance has no attribute 'display'

这很奇怪,因为它获取了属性getPlayerLoc,但没有显示。请帮忙!

4

1 回答 1

1

也许你有一些缩进问题。可以在您的 ide 中启用“显示空白”功能。

尝试将您的显示方法移到 getPlayerLoc 上方。如果 getPlayerLoc 失败,它将指示缩进错误。

于 2012-05-28T18:48:56.903 回答