Код IT Загрузка примера кода…

Python main.py
import pygame

from core.config import SCREEN_HEIGHT, SCREEN_WIDTH, UI_TEXT


class MenuUI:
    def draw(self, screen, selected: int = 0) -> None:
        font = pygame.font.SysFont("Segoe UI", 48, bold=True)
        title = font.render("Pythonablo", True, (255, 204, 96))
        screen.blit(title, title.get_rect(center=(SCREEN_WIDTH // 2, 160)))
        options = ["Новая игра", "Выход"]
        for i, label in enumerate(options):
            f = pygame.font.SysFont("Segoe UI", 28)
            color = (255, 220, 120) if i == selected else UI_TEXT
            t = f.render(label, True, color)
            screen.blit(t, t.get_rect(center=(SCREEN_WIDTH // 2, 320 + i * 48)))

    def draw_pause(self, screen) -> None:
        overlay = pygame.Surface((SCREEN_WIDTH, SCREEN_HEIGHT), pygame.SRCALPHA)
        overlay.fill((12, 14, 26, 180))
        screen.blit(overlay, (0, 0))
        font = pygame.font.SysFont("Segoe UI", 36, bold=True)
        text = font.render("Пауза — Esc", True, UI_TEXT)
        screen.blit(text, text.get_rect(center=(SCREEN_WIDTH // 2, SCREEN_HEIGHT // 2)))

    def draw_game_over(self, screen) -> None:
        font = pygame.font.SysFont("Segoe UI", 48, bold=True)
        text = font.render("Game Over", True, (220, 80, 80))
        screen.blit(text, text.get_rect(center=(SCREEN_WIDTH // 2, SCREEN_HEIGHT // 2)))
        hint = pygame.font.SysFont("Segoe UI", 22).render("Esc — в меню", True, UI_TEXT)
        screen.blit(hint, hint.get_rect(center=(SCREEN_WIDTH // 2, SCREEN_HEIGHT // 2 + 56)))
import pygame

from core.config import SCREEN_HEIGHT, SCREEN_WIDTH, UI_TEXT


class MenuUI:
    def draw(self, screen, selected: int = 0) -> None:
        font = pygame.font.SysFont("Segoe UI", 48, bold=True)
        title = font.render("Pythonablo", True, (255, 204, 96))
        screen.blit(title, title.get_rect(center=(SCREEN_WIDTH // 2, 160)))
        options = ["Новая игра", "Выход"]
        for i, label in enumerate(options):
            f = pygame.font.SysFont("Segoe UI", 28)
            color = (255, 220, 120) if i == selected else UI_TEXT
            t = f.render(label, True, color)
            screen.blit(t, t.get_rect(center=(SCREEN_WIDTH // 2, 320 + i * 48)))

    def draw_pause(self, screen) -> None:
        overlay = pygame.Surface((SCREEN_WIDTH, SCREEN_HEIGHT), pygame.SRCALPHA)
        overlay.fill((12, 14, 26, 180))
        screen.blit(overlay, (0, 0))
        font = pygame.font.SysFont("Segoe UI", 36, bold=True)
        text = font.render("Пауза — Esc", True, UI_TEXT)
        screen.blit(text, text.get_rect(center=(SCREEN_WIDTH // 2, SCREEN_HEIGHT // 2)))

    def draw_game_over(self, screen) -> None:
        font = pygame.font.SysFont("Segoe UI", 48, bold=True)
        text = font.render("Game Over", True, (220, 80, 80))
        screen.blit(text, text.get_rect(center=(SCREEN_WIDTH // 2, SCREEN_HEIGHT // 2)))
        hint = pygame.font.SysFont("Segoe UI", 22).render("Esc — в меню", True, UI_TEXT)
        screen.blit(hint, hint.get_rect(center=(SCREEN_WIDTH // 2, SCREEN_HEIGHT // 2 + 56)))