首页 > 解决方案 > Python 太空入侵者游戏试图将所有敌人的 x 坐标与墙的坐标进行比较

问题描述

我正在制作一个太空入侵者克隆,我正在尝试实现敌人的墙壁碰撞,但我似乎无法将所有 x 坐标与墙壁进行比较(我使用海龟绘制了所有敌人并将它们放在一个列表中)我得到了错误(如果敌人坐标 [i] > -280:IndexError: 列表索引超出范围)这让我感到困惑,因为我将敌人坐标附加到敌人坐标列表中,但它只输出一个。我可能正在做一些奇怪的事情,任何帮助表示赞赏。

#FIXME Check the cordainates of all enemies for wall collison
def enemy_coor():
    i = 0
    for alien in enemies:
        global enemies_coordinates
        enemies_coordinates = []
        enemies_coordinates.append(enemies[i].xcor())
        print(enemies_coordinates)
        i += 1

#FIXME Wall collioson
def alien_wall_collison():
    i = 0
    for alien in enemies:
        print(i)
        if enemies_coordinates[i] > -280:
            print("turn Right")
        i += 1

标签: pythonfunctionif-statementturtle-graphicspython-turtle

解决方案


您将值附加到敌人坐标 = [] 但您没有定义敌人,或者您可以尝试这个

并减小 if 条件的值


推荐阅读