带有列表的Python蛇游戏单元位置

时间:2015-11-04 07:58:57

标签: 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] = 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中编程的初学者,我还没有习惯它。任何帮助将不胜感激。

1 个答案:

答案 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上的代码以了解相关信息。