Python蛇游戏单元位置列表

Python蛇游戏单元位置列表,python,while-loop,pygame,Python,While Loop,Pygame,我正在尝试创建一个可能有100个细胞(蛇的部分或长度)的蛇游戏。在主while循环的每次迭代中,每个单元格的位置都取其前面的单元格的位置。当我尝试这样做时,它返回: cellPosX[100 - x] = cellPosX[100 - (x + 1)] IndexError: list index out of range 这是我的代码,我不认为所有这些都是必要的 cellPosX = [100] cellPosY = [100] cellPosX[0] = 400 cellPosY[0]

我正在尝试创建一个可能有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编程的初学者,还不习惯。非常感谢您的帮助。

您只是在初始化列表,列表上有一个项目: 最好初始化整个100个位置:

cellposX = [100]     # is a list with only one '100' inside
cellposX = [100]*100 # is a list with 100 '100' inside
无论如何,在我看来,你试图实现这一点的方式并不合适。
查看下面的代码进行学习。

您真的在初始化列表吗?嗯?不完全确定,我对列表所做的只是这里有什么,你建议我怎么做。对不起,如果我的错误很愚蠢。顺便说一句,如果你从零开始,范围(100)就可以了。最好定义一个常数,
BOARDSIZE=100
…谢谢,我不知道“*100”这个词。