使用python

时间:2018-11-18 16:10:12

标签: python pygame keydown

我们正在组织一个假日聚会,并试图建立一个家庭仇恨游戏。因此,我正在尝试对蜂鸣器系统进行编程。我是pygame的新手,所以也许我可以尝试更好的方法。

我写了下面的代码,在一定程度上可以正常工作。现在,它可以识别按钮并按原样显示图片。但是,它可以识别所有按钮按下的位置,而我只希望它可以识别出第一次,直到复位为止。例如,左侧首先嗡嗡响,我希望显示他们的图片-然后如果右侧小组嗡嗡响,之后我希望该按钮被忽略。然后,如果按下了第三个(复位)按钮,它将复位回到起点,开始跟踪再次按下的第一个按钮。任何帮助将不胜感激!

import pygame
import pdcurses
#import RPi.GPIO as GPIO
import image
import time
import clock
from pygame import mixer
from pygame.locals import *

displayWidth = 1600
displayHeight = 1200

pygame.init()
#mixer.init()
#pygame.display.init()
screen = pygame.display.set_mode((displayWidth, displayHeight))
pygame.display.set_caption('Family Feud')
pygame.display.update()

def reset():
    global screen
    kids = pygame.image.load("kids.jpg")
    screen.blit(kids, (0,0))
    pygame.display.update()


gameExit = False
while not gameExit:

for event in pygame.event.get():
    if event.type == KEYDOWN:
        if event.key == K_LEFT:
            leftBuzzer = pygame.image.load("ice cream.jpg")
            screen.blit(leftBuzzer,(0,0))
            pygame.display.update()


        if event.key == K_RIGHT:
            rightBuzzer = pygame.image.load("snowman.jpg")
            screen.blit(rightBuzzer,(0,0))
            pygame.display.update()


        if event.key == K_q:
            pygame.quit()


        if event.key == K_r:
            reset()

1 个答案:

答案 0 :(得分:2)

您可以添加一个alreadyPressed布尔值,并为每个蜂鸣器按下if语句,然后在显示任何内容之前检查alreadyPressed