2015-11-04 102 views
-1

我想创建一个有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

你是否正在初始化列表? – Netwave

+0

咦?不完全确定,我对列表所做的所有工作都是在这里做的,你如何建议我这样做。对不起,如果我的错误是愚蠢的。 –

+0

顺便说一句,如果你从零开始,'范围(100)'会做。并更好地定义一个常量'BOARDSIZE = 100' ... – Pynchia

回答

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上的代码进行学习。

+0

谢谢,我不知道“* 100”的事情。 –