如何解决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()
解决方法
缩进错误!
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。