Python 我可以一次触发多个if语句吗?

Python 我可以一次触发多个if语句吗?,python,Python,我正在做一个tron自行车游戏,如果你看到我在你可能知道之前问问题,但无论如何,我现在把它作为一个2人游戏。我现在的问题是,如果一个人按下一个键,另一个方块就会停止移动。我知道问题发生的原因,只是不知道如何解决。 以下是我的一些代码: while True: timer.tick(60) ticks = pygame.time.get_ticks() for event in pygame.event.get(): if event.type == QUI

我正在做一个tron自行车游戏,如果你看到我在你可能知道之前问问题,但无论如何,我现在把它作为一个2人游戏。我现在的问题是,如果一个人按下一个键,另一个方块就会停止移动。我知道问题发生的原因,只是不知道如何解决。 以下是我的一些代码:

while True:
    timer.tick(60)
    ticks = pygame.time.get_ticks()
    for event in pygame.event.get():
        if event.type == QUIT:
            sys.exit()
    keys = pygame.key.get_pressed()
    if keys[K_w]:
        if key == 'down':
            key = 'down'
        else:
            key = 'up'
    if keys[K_d]:
        if key == 'left':
            key = 'left'
        else:
            key = 'right'
    if keys[K_s]:
        if key == 'up':
            key = 'up'
        else:
            key = 'down'
    if keys[K_a]:
        if key == 'right':
            key = 'right'
        else:
            key = 'left'
    if keys[K_LEFT]:
        if key == 'right1':
            key = 'right1'
        else:
            key = 'left1'
    if keys[K_RIGHT]:
        if key == 'left1':
            key = 'left1'
        else:
            key = 'right1'
    if keys[K_UP]:
        if key == 'down1':
            key = 'down1'
        else:
            key = 'up1'
    if keys[K_DOWN]:
        if key == 'up1':
            key = 'up1'
        else:
            key = 'down1'
    if keys[K_ESCAPE]:
        sys.exit()
    if key == 'up':
        y -= 5
    if key == 'down':
        y += 5
    if key == 'left':
        x -= 5
    if key == 'right':
        x += 5
    if key == 'up1':
        y1 -= 5
    if key == 'down1':
        y1 += 5
    if key == 'left1':
        x1 -= 5
    if key == 'right1':
        x1 += 5
    if x >= 1180:
        x = 1180
    if x <= 0:
        x = 0
    if y >= 780:
        y = 780
    if y <= 0:
        y = 0
    if x1 >= 1180:
        x1 = 1180
    if x1 <= 0:
        x1 = 0
    if y1 >= 780:
        y1 = 780
    if y1 <= 0:
        y1 = 0
    green = GreenSquare()
    blue = BlueSquare()
    screen.blit(backbuffer,(0,0))
    print_text(font,0,800,"Round " + str(round))
    pygame.display.update()
为True时:
计时器。滴答(60)
ticks=pygame.time.get_ticks()
对于pygame.event.get()中的事件:
如果event.type==退出:
sys.exit()
keys=pygame.key.get_pressed()
如果键[K_w]:
如果键==“向下”:
键='down'
其他:
键='up'
如果键[K_d]:
如果键==“左”:
键='左'
其他:
键='右'
如果键[K_s]:
如果键==“向上”:
键='up'
其他:
键='down'
如果键[K_a]:
如果键=='右':
键='右'
其他:
键='左'
如果键[K_左]:
如果键=='right1':
键='right1'
其他:
键='left1'
如果键[K_RIGHT]:
如果键==“left1”:
键='left1'
其他:
键='right1'
如果键[K_UP]:
如果键=='down1':
键='down1'
其他:
键='up1'
如果键[K_向下]:
如果键==“up1”:
键='up1'
其他:
键='down1'
如果键[K_ESCAPE]:
sys.exit()
如果键==“向上”:
y-=5
如果键==“向下”:
y+=5
如果键==“左”:
x-=5
如果键=='右':
x+=5
如果键==“up1”:
y1-=5
如果键=='down1':
y1+=5
如果键==“left1”:
x1-=5
如果键=='right1':
x1+=5
如果x>=1180:
x=1180
如果x=780:
y=780
如果y=1180:
x1=1180
如果x1=780:
y1=780

如果y1用于将来的参考,您可以将问题中的代码缩进4个空格进行格式化。或者选择所有代码,然后按
{}
符号自动设置格式。@BobbyBob,我没有读过你前面的问题,这里有什么我不懂的。哪个“另一个广场”?你知道为什么会发生这个问题-请告诉我们,因为我们不是魔术师,也不会读心术。你只有一个
-为什么不分别处理每个玩家的输入?哇,我当时很傻,谢谢jonrsharpe,我可能会这么做。。