我尝试在python中测试一个简单的2d地图坐标生成器。它创建了一个带有x和y数组的Tile对象,这样我就可以访问坐标并修改它们的属性。在
这将创建贴图对象并用二维坐标平面中的平铺填充它map = [[ Tile(True)
for y in range(MAP_HEIGHT) ]
for x in range(MAP_WIDTH) ]
平铺类:
^{pr2}$
我试图让程序逐字读取一个文本文件来创建一个映射。它将在mapx和mapy提供的坐标处插入一个对象到地图中。在mapx = 0
mapy = 0
filename = str(mapn) + '.txt'
new_map = [[ Tile(True, 0, 0)
for y in range(MAP_HEIGHT) ]
for x in range(MAP_WIDTH) ]
with open(filename) as f:
while True:
c = f.read(1)
if not c:
return new_map
elif (c == '#'):
new_map[mapx][mapy].blocked = False
new_map[mapx][mapy].block_sight = True
new_map[mapx][mapy].type = 0
new_map[mapx][mapy].owner = 0
(又过了几次elif)if(mapx < MAP_WIDTH):
mapx += 1
elif(mapy < MAP_HEIGHT):
mapy += 1
mapx = 0
当运行这个时,我得到一个错误:索引器错误:列表索引超出范围。
上面写着台词new_map[mapx][mapy].blocked = False
这是我的错。你知道我做错什么了吗?在