python - 使用 python 创建蜂鸣器系统

标签 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()

最佳答案

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

关于python - 使用 python 创建蜂鸣器系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53362891/

相关文章:

python - tensorflow:您的输入数据不足

python - Matplotlib 粗动画,显示轨迹

python - 在 pickle/unpickle 几次迭代后搁置引发 EOFError

python - 在pygame中将瓷砖覆盖到 Sprite 上

python - 获取数学域错误,但这不是因为负值

c# - 在 C# 中执行不同事件的多个按键

Python 新推出的数字文字(例如 234_432)不能与 .isdigit() 一起使用吗?

python - 敌人速度不稳定的问题

javascript - Jquery keyup 然后 next()

Javascript 将键代码发送到 <textarea> 元素