我正在尝试创造一个可能有100个细胞(蛇形部分或长度)的蛇游戏。在主while循环的每次迭代中,每个单元位置取得前面的单元位置。当我尝试这样做时,它返回:
cellPosX[100 - x] = cellPosX[100 - (x + 1)]
IndexError: list index out of range
这是我的代码,我认为没有必要。
cellPosX = [100]
cellPosY = [100]
cellPosX[0] = 400
cellPosY[0] = 300
#Change Cell Positions
for x in range(0, 100):
cellPosX[100 - x] = cellPosX[100 - (x + 1)]
cellPosY[100 - x] = cellPosY[100 - (x + 1)]
我只是在python中编程的初学者,我还没有习惯它。任何帮助将不胜感激。
答案 0 :(得分:2)
您只是在列表中初始化一个项目: 最好初始化整个100个职位:
cellposX = [100] # is a list with only one '100' inside
cellposX = [100]*100 # is a list with 100 '100' inside
无论如何,在我看来,你试图实现这个的方式并不恰当。 检查Snake Pygame Example上的代码以了解相关信息。