Я борюсь с тем, чтобы программа pygame остановила мою функцию после 5 нажатий клавиши «y» в предыдущей функции.
Я создаю программу в Pygame для исследования с участниками.Я создал функцию, которая отображает предложение на экране, каждое предложение берется из строки в кадре данных.Независимо от того, является ли это предложение верным или нет в соответствии с данным участником, будет нажата клавиша «y» или «n», и она будет записана в новый столбец в кадре данных.
Прямо сейчас моя функция перебирает все 100 предложений в кадре данных.Я хотел бы прекратить итерации после нажатия клавиши «у» 5 раз.
При получении ответа от клавиатуры я написал:
def getResponse(trialNum):
while True:
sentence = pygame.event.wait()
if sentence.type == pygame.QUIT:
self.gameExit = True
if sentence.type == pygame.KEYDOWN:
if sentence.key == pygame.K_y:
keyname = 'yes'
**yesCount = len(pygame.key.get_pressed())
break
if sentence.key == pygame.K_n:
keyname = 'no'
break
screen.fill((white))
Строка со звездочкой (*) указывает на мою попытку подсчитать, сколько раз клавиша "y" имелабыла нажата, на что я надеялся обратиться в следующей функции:
Запуск программы:
def start():
screen.fill(white)
# trials loop
start_val = 0
stop_val = 5
while start_val < stop_val:
for trial in range(0,numEvents): #specifies number of events
showOneEvent(trial)
end()
Я попытался перейти к этого вопроса о циклах while-for и не увенчались успехом.Может кто-нибудь, пожалуйста, дайте мне знать, что мне не хватает синтаксически при определении остановки программы после того, как я нажал кнопку «да» 5 раз?
Спасибо.