我正在尝试使用pygame
制作地图,但我得到了
IndexError: string index out of range
每次启动程序时都会出错。
这是获取错误的一行:
中的return self.data[y][x]
def__getitem__(self, xy):
x = xy[0]
y = xy[1]
return self.data[y][x]
当我将地图定义为
时,它有效hallway_entrance_lilbrary =\
["xxxxx...........xxxxx",
"xxxxx...........xxxxx",
"xxxxx...........xxxxx",
"xxxxx...........xxxxx",
"xxxxx...........xxxxx",
"xxxxx...........xxxxx",
"xxxxx...........xxxxx",
"xxxxx...........xxxxx",
"xxxxx...........xxxxx",
"xxxxx...........xxxxx",
"xxxxx...........xxxxx",
"xxxxx...........xxxxx",
"xxxxx...........xxxxx",
"xxxxx...........xxxxx",
"xxxxx...........xxxxx",
"xxxxx.....s.....xxxxx",]
其中x
是墙,.
是地砖,s
是起始方格。
当我将地图更改为
时,错误开始显示hallway_entrance_lilbrary =\
["xxxxxxx...xxxxxxx"
"xx....x...x....x",
"xx....x...x....x",
"xx....x...x....x",
"xx....x...x....x",
"xx....x...x....x",
"xx....x...x....x",
"xx....x...x....x",
"xx....x...x....x",
"xx....x...x....x",
"xx....x...x....x",
"xx....x...x....x",
"xx....x...x....x",
"xx....x...x....x",
"xx....x...x....x",
"xx....x...x....x",
"xx....x...x....x",
"xx....x...x....x",
"xx....x...x....x",
"xx....x...x....x",
"xx....x...x....x",
"xx....x...x....x",
"xx....x...x....x",
"xx....x...x....x",
"xx....x...x....x",
"xxxxxxx.s.xxxxxx",]
我尝试将新地图缩短,因此其长度与第一张相当,但仍然会生成错误。
感谢您的帮助。
答案 0 :(得分:0)
我看起来你在秒示例的第一行上缺少一个逗号。
hallway_entrance_lilbrary =\ ["xxxxxxx...xxxxxxx" # <--- no comma? "xx....x...x....x", ...