import pygame
# Запускаем pygame
pygame.init()
# =========================
# НАСТРОЙКИ ИГРЫ
# =========================
# Ширина окна
WIDTH = 800
# Высота окна
HEIGHT = 600
# Размер одной клетки змейки
CELL_SIZE = 20
# Скорость игры
FPS = 10
# =========================
# ЦВЕТА
# =========================
# Цвет фона
BACKGROUND_COLOR = (30, 30, 30)
# Цвет змейки
SNAKE_COLOR = (0, 200, 0)
# =========================
# СОЗДАНИЕ ОКНА
# =========================
screen = pygame.display.set_mode((WIDTH, HEIGHT))
# Название окна
pygame.display.set_caption("Змейка")
# =========================
# НАСТРОЙКИ ЗМЕЙКИ
# =========================
# Начальная позиция головы
snake_x = WIDTH // 2
snake_y = HEIGHT // 2
# Направление движения
direction_x = 1
direction_y = 0
# =========================
# ГЛАВНЫЙ ЦИКЛ
# =========================
running = True
# Создаём часы для ограничения скорости игры
clock = pygame.time.Clock()
while running:
# =========================
# ОБРАБОТКА СОБЫТИЙ
# =========================
for event in pygame.event.get():
# Нажали крестик
if event.type == pygame.QUIT:
running = False
# Нажали клавишу
if event.type == pygame.KEYDOWN:
# Движение вверх
if event.key == pygame.K_w:
direction_x = 0
direction_y = -1
# Движение вниз
if event.key == pygame.K_s:
direction_x = 0
direction_y = 1
# Движение влево
if event.key == pygame.K_a:
direction_x = -1
direction_y = 0
# Движение вправо
if event.key == pygame.K_d:
direction_x = 1
direction_y = 0
# =========================
# ДВИЖЕНИЕ ЗМЕЙКИ
# =========================
# Меняем координату X
snake_x += direction_x * CELL_SIZE
# Меняем координату Y
snake_y += direction_y * CELL_SIZE
# =========================
# РИСОВАНИЕ
# =========================
# Очищаем экран
screen.fill(BACKGROUND_COLOR)
# Рисуем голову змейки
pygame.draw.rect(
screen,
SNAKE_COLOR,
(snake_x, snake_y, CELL_SIZE, CELL_SIZE)
)
# Показываем изменения на экране
pygame.display.flip()
# Ограничиваем скорость игры
clock.tick(FPS)
# Закрываем pygame
pygame.quit()