import pygame
import random
# Запускаем 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
score = 0
# =========================
# ГЛАВНЫЙ ЦИКЛ
# =========================
running = True
# Создаём часы для ограничения скорости игры
clock = pygame.time.Clock()
color = ["red", "blue", "green", "yellow", "purple"]
COLOR2 = random.choice(color)
wegh = random.randint(20, 780)
hegh = random.randint(20, 580)
a=pygame.draw.rect(
screen,
SNAKE_COLOR,
(wegh, hegh, CELL_SIZE, CELL_SIZE)
)
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:
if direction_y != 1:
direction_x = 0
direction_y = -1
# Движение вниз
if event.key == pygame.K_s:
if direction_y != 1:
direction_x = 0
direction_y = 1
# Движение влево
if event.key == pygame.K_a:
if direction_x != 1:
direction_x = -1
direction_y = 0
# Движение вправо
if event.key == pygame.K_d:
if direction_x != -1:
direction_x = 1
direction_y = 0
# =========================
# ДВИЖЕНИЕ ЗМЕЙКИ
# =========================
# Меняем координату X
snake_x += direction_x * CELL_SIZE
# Меняем координату Y
snake_y += direction_y * CELL_SIZE
# =========================
# РИСОВАНИЕ
# =========================
# Очищаем экран
# Рисуем голову змейки
pygame.draw.rect(
screen,
SNAKE_COLOR,
(snake_x, snake_y, CELL_SIZE, CELL_SIZE)
)
# Показываем изменения на экране
pygame.display.flip()
# Ограничиваем скорость игры
clock.tick(FPS)
if snake_x < 20:
break
if snake_x > 760:
break
if snake_y < 20:
break
if snake_y > 560:
break
# Показываем изменения на экране
pygame.display.flip()
screen.fill(BACKGROUND_COLOR)
# Закрываем pygame
pygame.quit()