使两个变量在不同范围内相等

时间:2015-05-21 14:44:17

标签: python pygame

嘿,所以我正在制作一个python pygame游戏,你在2D射击游戏中扮演玩家与机器人。我试图制作它,以便机器人根据玩家的位置上下移动。我在播放器和机器人类中都有这个代码。

    if 20 < self.rect.x < 80:
        self.x_zone = 1
    elif 180 < self.rect.x < 260:
        self.x_zone = 2
    elif 360 < self.rect.x < 440:
        self.x_zone = 3
    elif 540 < self.rect.x < 620:
        self.x_zone = 4
    elif 720 < self.rect.x < 780:
        self.x_zone = 5
    else:
        self.x_zone = 0
    # y_axis
    if 20 < self.rect.y < 100:
        self.y_zone = 1
    elif 200 < self.rect.y < 400:
        self.y_zone = 2
    elif 500 < self.rect.y < 580:
        self.y_zone = 3
    else:
        self.y_zone = 0

当我引用机器人或玩家的x_zone或y_zone时,它完全正常,但由于某种原因,当我在这样的if语句中比较它时,它不起作用。< / p>

if self.y_zone == player.y_zone:
    self.standard = False

elif self.x_zone == player.x_zone:
    self.standard = False

else:
    self.standard = True

我也把机器人的x_zone和y_zone的其他地方与玩家的其他地方不同,所以如果他们在不同的区域,它就不会改变任何东西。我希望我解释得很好,因为我无法自己解决这个问题。

0 个答案:

没有答案