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 属性。然后每个敌人可以以默认速度开始,然后根据任何条件更新它。