python - 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
推荐阅读
- pointers - 如何使用反射获取字符串指针的变量名?
- weblogic - weblogic rmi 驱动程序中的内存泄漏
- python - 附加不同维度的numpy数组
- azure - Azure 和访问控制的最佳实践
- r - 更改弹性表中的单元格值
- jquery - `display:inline-block` CSS 属性的问题
- python - matplotlib - 如果有多个事件处理程序,你可以设置优先级吗?
- android - 无法在 Java 中调用 Android 应用程序的 Cucumber 测试
- r - Rmarkdown - 重复的目录(目录)
- c++ - 为什么文字和临时变量不是左值?