/
pentomas
/
volley
Обзор
Документация
Войти
/
pentomas
/
volley
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
controller.py
47 строк
2 KB
pentomas
create: IMG_1551.PNG, мяч.png, controller.py, main.py, model.py, player.py, view.py
08 май 2026, 06:57
Верифицирован
08 май 2026, 06:57
9c0e4d3
Код
Авторство
О чём код?
import pygame from constants import FPS class VolleyballController: def __init__(self, model, view): self.model = model self.view = view self.running = True self.clock = pygame.time.Clock() self.previous_space = False def run(self): try: while self.running: # 1. События for event in pygame.event.get(): if event.type == pygame.QUIT: self.running = False elif event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE: self.running = False keys = pygame.key.get_pressed() space_pressed = keys[pygame.K_SPACE] space_just_pressed = space_pressed and not self.previous_space self.previous_space = space_pressed input_state = { "p1_left": keys[pygame.K_a], "p1_right": keys[pygame.K_d], "p1_action": space_just_pressed, "p1_receive": keys[pygame.K_s], "serve": space_just_pressed, "reset": keys[pygame.K_r], } # 2. Обновление модели self.model.update(input_state) # 3. Отрисовка self.view.render(self.model) # 4. Ограничение FPS self.clock.tick(FPS) except Exception as e: print(f"Ошибка в игровом цикле: {e}") finally: pygame.quit()