


Программирование
+3Можно ли, как-нибудь заменить вот такую конструкцию if на цикл for? Python
Вместо такой вот конструкции:
123456789
if event.type == pygame.USEREVENT and event.button == sound_button:
cursor.cursor = cursor.no_hover_cursor
fade_in()
volume = settings_sound_memu(volume)
if event.type == pygame.USEREVENT and event.button == back_button:
cursor.cursor = cursor.no_hover_cursor
fade_in()
running = False
На цикл for?:
вот у меня есть функция check_events():
1234567
def check_events(*args):
""" Обработка игровых событий """
for event in pygame.event.get():
if event.type == pygame.QUIT:
server_work = False
pygame.quit()
sys.exit()
Можно ли как-нибудь переделать верхний код в цикл for и добавить в эту функцию?
Типо вот такого:
12345678910111213
def check_events(*args):
""" Обработка игровых событий """
for event in pygame.event.get():
if event.type == pygame.QUIT:
server_work = False
pygame.quit()
sys.exit()
for button in args:
if event.type == pygame.USEREVENT and event.button == button:
# Функция для определенной кнопки, например settings() или exit() в зависимости от переданной кнопки
check_events(button_settings, button_exit)
По дате
По рейтингу
Цикл для "словаря" buttons? Или какой участок кода ты хочешь изменить? Объединение участков кода?
Ну, используешь цикл, чтобы пройтись по всем событиям, полученным с помощью pygame.event.get(), проверка на выход остается, проверка событий USEREVENT и вызов функции, проверка на кнопку с помощью вложенного условия.