Python 嵌套循环
Python nested loops
我正在做一个项目,似乎无法解决这个问题。我有一个 for 循环,然后有几个 if 条件。我希望其中一个 ifs 仅针对满足条件的项目更改全局变量 "enemyspeed"。
有没有办法像这样操纵海龟的位置?
我的列表包含我创建的海龟。
基本上这段代码适用于我正在做的 space 入侵者游戏。显示的代码移动了敌人。我的第一个 if 语句使玩家侧身移动。接下来的两个将敌人向下和相反的方向移动。照原样,代码改变了所有敌人的方向,因为我正在改变速度的全局变量。我希望改变敌人朝向掉落的特定敌人的方向。
for enemy in enemies_1:
if enemy.heading() == 0:
x = enemy.xcor()
x -= enemyspeed
enemy.setx(x)
elif enemy.heading() == 1:
x = enemy.xcor()
x += enemyspeed
enemy.setx(x)
# Move the enemy back and down
if enemy.xcor() > 300:
y = enemy.ycor()
y -= 40
enemyspeed *= -1
if enemyspeed < 0:
enemyspeed -= .2
else:
enemyspeed += .2
enemy.sety(y)
if enemy.xcor() < - 300:
y = enemy.ycor()
y -= 40
enemyspeed *= -1
if enemyspeed < 0:
enemyspeed -= .2
else:
enemyspeed += .2
enemy.sety(y)
您的意思是说您希望在“# Move the enemy back and down”之后检查以下代码,但如果特定项目发生变化,则不继续前面的 if 语句?
if enemy.xcor() < - 300:
y = enemy.ycor()
y -= 40
enemyspeed *= -1
if enemyspeed < 0:
enemyspeed -= .2
else:
enemyspeed += .2
enemy.sety(y)
另外这段代码是不是和上面一样,enemy.xcor()
不应该改变?您可以使用 or 语句。
试着让敌人成为一个列表,对于列表中的敌人,检查他们在哪里,然后改变他们的方向
如果你只想改变一个敌人的速度,你需要为所有敌人设置 enemy.speed 属性。然后每个敌人可以以默认速度开始,然后根据任何条件更新它。
我正在做一个项目,似乎无法解决这个问题。我有一个 for 循环,然后有几个 if 条件。我希望其中一个 ifs 仅针对满足条件的项目更改全局变量 "enemyspeed"。
有没有办法像这样操纵海龟的位置? 我的列表包含我创建的海龟。
基本上这段代码适用于我正在做的 space 入侵者游戏。显示的代码移动了敌人。我的第一个 if 语句使玩家侧身移动。接下来的两个将敌人向下和相反的方向移动。照原样,代码改变了所有敌人的方向,因为我正在改变速度的全局变量。我希望改变敌人朝向掉落的特定敌人的方向。
for enemy in enemies_1:
if enemy.heading() == 0:
x = enemy.xcor()
x -= enemyspeed
enemy.setx(x)
elif enemy.heading() == 1:
x = enemy.xcor()
x += enemyspeed
enemy.setx(x)
# Move the enemy back and down
if enemy.xcor() > 300:
y = enemy.ycor()
y -= 40
enemyspeed *= -1
if enemyspeed < 0:
enemyspeed -= .2
else:
enemyspeed += .2
enemy.sety(y)
if enemy.xcor() < - 300:
y = enemy.ycor()
y -= 40
enemyspeed *= -1
if enemyspeed < 0:
enemyspeed -= .2
else:
enemyspeed += .2
enemy.sety(y)
您的意思是说您希望在“# Move the enemy back and down”之后检查以下代码,但如果特定项目发生变化,则不继续前面的 if 语句?
if enemy.xcor() < - 300:
y = enemy.ycor()
y -= 40
enemyspeed *= -1
if enemyspeed < 0:
enemyspeed -= .2
else:
enemyspeed += .2
enemy.sety(y)
另外这段代码是不是和上面一样,enemy.xcor()
不应该改变?您可以使用 or 语句。
试着让敌人成为一个列表,对于列表中的敌人,检查他们在哪里,然后改变他们的方向
如果你只想改变一个敌人的速度,你需要为所有敌人设置 enemy.speed 属性。然后每个敌人可以以默认速度开始,然后根据任何条件更新它。