0

これを何度も検索しましたが、何が問題なのかわかりません。関連するコード行は次のとおりです。

WallList=[]
def createWallList():
    i=0
    while i<=numberWalls:
        newWall=box(pos=(0,(arenaSize-(i*2))-1,0), height=.1, width=1, length=(randomValue(0,20)), color=color.green)
        WallList.append(newWall)
        i=i+1

if WallList[i].pos.y>arenaSize:
    WallList[i].pos.y=-arenaSize

コンソールに次のようなエラーが表示されます。

Traceback (most recent call last):
    File "/Users/samwhaverly/Documents/FallDownGameWIP.py", line 76
    if WallList[i].pos.y>arenaSize:
IndexError: list index out of range

ここにたくさんありますが、何が問題なのかわかりません。あなたの誰かが洞察を提供できるなら、それは非常に役に立ちます。必要に応じて追加の詳細を提供できます。

4

1 に答える 1

1

インデントが間違っているため、エラーが発生しています。何が起こっているかは次のとおりです。

i = 0
Is i <= numberWalls? Yes.
Make a new wall.
Increment i to 1.
Is i <= numberWalls? Yes.
Make a new wall.
Increment i to 2.
...
Increment i to numberWalls + 1.
Is i <= numberWalls? No.
if WallList[i] <- ERROR: there is no wallList[i]
于 2012-12-03T23:39:01.097 に答える