pygame 中的意外缩进

Unexpected Indentation in pygame

当我 运行 下面的游戏时,我得到一个错误“意外缩进”,但是当你查看代码时它是完全正确的。

错误发生在del evilGuy[-1]。缩进是正确的我仍然得到这个错误。

编辑

代码略有改动。即使现在错误发生在:del evilGuy[-1] showing unexpected indentation.

def evilMove(evilGuy):
    evilCoords=[]
    #deadZones=[]
    #Returns either -1, 0 or 1
    randomMovex=random.randrange(-1,2)
    randomMovey=random.randrange(-1,2)
    newCell={'x':evilGuy[0]['x']+randomMovex,'y':evilGuy[0]['y']+randomMovey}
    if (newCell['x']<0 or newCell['y']<0 or newCell['x']>cellSize or newCell['y']>display_height/cellSize):
        newCell={'x':display_width/(2*cellSize),'y':display_height/(2*cellSize)

    del evilGuy[-1]
    
    evilCoords.append(newCell['x'])
    evilCoords.append(newCell['x'])
    deadZones.append(evilCoords)
    evilGuy.insert(0,newCell)

已解决

错误是函数 evilMove 中缺少“}”。 解决方案如下。

def evilMove(evilGuy):
    evilCoords=[]
    #deadZones=[]
    #Returns either -1, 0 or 1
    randomMovex=random.randrange(-1,2)
    randomMovey=random.randrange(-1,2)
    newCell={'x':evilGuy[0]['x']+randomMovex,'y':evilGuy[0]['y']+randomMovey}
    if (newCell['x']<0 or newCell['y']<0 or newCell['x']>cellSize or newCell['y']>display_height/cellSize):
        newCell={'x':display_width/(2*cellSize),'y':display_height/(2*cellSize)} # Here It's missing '}'

    del evilGuy[-1]

    evilCoords.append(newCell['x'])
    evilCoords.append(newCell['x'])
    deadZones.append(evilCoords)
    evilGuy.insert(0,newCell)

这个pb存在的白数space 在您的代码中删除 def 之前的 space,并在 ''' 之前添加三个 space,您的代码将是(只需复制和粘贴):

def evilMove(evilGuy): # here delete spaces 
    evilCoords=[]
    #deadZones=[]
    #Returns either -1, 0 or 1
    randomMovex=random.randrange(-1,2)
    randomMovey=random.randrange(-1,2)
    newCell={'x':evilGuy[0]['x']+randomMovex,'y':evilGuy[0]['y']+randomMovey}
    '''  # here add spaces
    if (newCell['x']<0 or newCell['y']<0 or newCell['x']>cellSize or newCell['y']>display_height/cellSize):
        newCell={'x':display_width/(2*cellSize),'y':display_height/(2*cellSize)

    '''
    del evilGuy[-1]                 
    evilGuy.insert(0,newCell)