我想创建 1 个额外的敌人。我在遍历列表时遇到了问题。但是我在执行此操作时不断收到此错误:
enemyX[i] += enemyX_change[i]
IndexError: list index out of range
这是我的代码:
num_of_enemies = 10
number = 1
enemyX = []
enemyX_change = []
for i in range(num_of_enemies):
enemyX.append(i)
enemyX_change.append(3)
print(len(enemyX))
print(len(enemyX_change))
num_of_enemies += number
for i in range(num_of_enemies):
enemyX[i] += enemyX_change[i]
最佳答案
我不确定我是否完全理解您的代码。
但是,您永远不会将元素append
元素添加到您的enemyY
列表中,但是您的num_of_enemies
会不断增加。
因此,因为在时间为零时,len(enemyY) = num_of_enemies
,您只需向 num_of_enemies
添加一个(在第一次碰撞发生后执行),以查看 enemyY[len(enemyY)]
...显然这超出了范围。
如果您的敌人数量保持不变,请考虑删除变量 num_of_enemies
(或让它成为常量)。
如果您的敌人数量发生变化,请不要忘记将 append
/pop
元素添加到您的列表中。
这是否清楚或有帮助?
关于python - 我创建了一个有多个敌人的游戏 space invaders,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62992845/