首页 > 解决方案 > NameError:名称“块”未定义

问题描述

正如标题中所说,我不断得到一个NameError状态块未定义,即使我已经创建了一个块实例blocks = Blocks()

def setup_maze(level):
    for y in range(len(level)):
        for x in range(len(level[y])):
            character = level[y][x]
            screen_x = -288 + (x * 24)
            screen_y = 288 - (y * 24)

            # Check if it is an X representing a wall
            if character == "X":
                blocks.goto(screen_x, screen_y)
                blocks.stamp()

                # Add coordinates to wall list
                walls.append((screen_x, screen_y))

            if character == "P":
                player.goto(screen_x, screen_y)

            if character == "T":
                treasures.append(Treasure(screen_x, screen_y))

            # Check if it is E representing enemies
            if character == "E":
                enemies.append(Enemy(screen_x, screen_y))

            # Check if it is G representing gate
            if character == "G":
                gates.append(Gate(screen_x, screen_y))

     # Creating class instance
        blocks = Blocks()
        player = Player()

标签: pythonpython-turtle

解决方案


缩进错误!

def setup_maze(level):
    for y in range(len(level)):
        for x in range(len(level[y])):
            character = level[y][x]
            screen_x = -288 + (x * 24)
            screen_y = 288 - (y * 24)

            # Check if it is an X representing a wall
            if character == "X":
                blocks.goto(screen_x, screen_y)
                blocks.stamp()
    
                # Add coordinates to wall list
                walls.append((screen_x, screen_y))

            if character == "P":
                player.goto(screen_x, screen_y)

            if character == "T":
                treasures.append(Treasure(screen_x, screen_y))

            # Check if it is E representing enemies
            if character == "E":
                enemies.append(Enemy(screen_x, screen_y))

            # Check if it is G representing gate
            if character == "G":
                gates.append(Gate(screen_x, screen_y))



# Creating class instance
blocks = Blocks()
player = Player()
setup_maze(2)  # call function; passing blocks and players is recommended instead of using global variables

推荐阅读