回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<div>
</div>
<p>我正在用pygame制作一个简单的游戏,在试图减少代码时遇到了一个错误</p>
<pre><code>bulletDirectionBoolean = [bulletRight, bulletLeft, bulletDown, bulletUp]
firstTime = [firstTime1, firstTime2, firstTime3, firstTime4]
bulletDirectionX = [bulletRightX, bulletLeftX, bulletDownX, bulletUpX]
bulletDirectionY = [bulletRightY, bulletLeftY, bulletDownY, bulletUpY]
bulletDirectionMoving = [bulletRightX, bulletLeftX, bulletDownY, bulletUpY]
directionList = [1,-1,1,-1]
limits = [screenX, -20, screenY, -20]
for i in range(4):
if bulletDirectionBoolean[i] or powerupAbility[3]:
if firstTime[i]:
firstTime[i] = False
bulletDirectionX[i] = player_posX
bulletDirectionY[i] = player_posY
screen.blit(bullet_img, (bulletDirectionX[i], bulletDirectionY[i]))
bulletDirectionMoving[i] += bulletSpeed*directionList[i]
if directionList[i] == 1:
if bulletDirectionMoving[i] > limits[i]:
bulletDirectionBoolean = False
firstTime[i] = True
if directionList[i] == -1:
if bulletDirectionMoving[i] < limits[i]:
bulletDirectionBoolean = False
firstTime[i] = True
</code></pre>
<p>这是失败的代码块。for循环后的第一行是它中断的地方。powerupAbility是代码中未显示的另一个具有布尔值的列表。列表bulletDirectionBoolean也是如此。列表中的所有值都是由用户控制的布尔值。我试图同时访问四个不同项目符号的每个列表中的每个值</p>
<p>为什么它会给我这个错误?我能做些什么来修复它</p>