Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Проект Python мини игра

Тимур Куликов Ученик (96), на голосовании 6 дней назад
Надо сделать мини игру с Pygame, чтобы была НЕ ЗАМУДРЕННОЙ. Я вообще не понимаю как ее делать. Сделайте пожалуйста
Голосование за лучший ответ
꧁Tester꧂ ︎ Просветленный (20744) 1 месяц назад
Ты для себя или задание?
Тимур КуликовУченик (96) 1 месяц назад
Задание, иначе отчислят
Александр Загуляев Мыслитель (8248) Тимур Куликов, chatgpt попроси
Александр Загуляев Мыслитель (8248) 1 месяц назад
 import pygame 
import sys
import random

pygame.init()

WIDTH, HEIGHT = 600, 600
CELL_SIZE = 20
GRID_WIDTH = WIDTH // CELL_SIZE
GRID_HEIGHT = HEIGHT // CELL_SIZE

WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
GREEN = (0, 255, 0)
RED = (255, 0, 0)

screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Snake Game")

clock = pygame.time.Clock()
FPS = 10

snake = [(GRID_WIDTH // 2, GRID_HEIGHT // 2)]
direction = (0, -1)

def spawn_food():
while True:
food = (random.randint(0, GRID_WIDTH - 1), random.randint(0, GRID_HEIGHT - 1))
if food not in snake:
return food

food = spawn_food()

def draw_grid():
for x in range(0, WIDTH, CELL_SIZE):
pygame.draw.line(screen, BLACK, (x, 0), (x, HEIGHT))
for y in range(0, HEIGHT, CELL_SIZE):
pygame.draw.line(screen, BLACK, (0, y), (WIDTH, y))

running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False # вместо sys.exit(), просто завершаем цикл
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_UP and direction != (0, 1):
direction = (0, -1)
elif event.key == pygame.K_DOWN and direction != (0, -1):
direction = (0, 1)
elif event.key == pygame.K_LEFT and direction != (1, 0):
direction = (-1, 0)
elif event.key == pygame.K_RIGHT and direction != (-1, 0):
direction = (1, 0)

head_x, head_y = snake[0]
delta_x, delta_y = direction
new_head = (head_x + delta_x, head_y + delta_y)

if (new_head[0] < 0 or new_head[0] >= GRID_WIDTH or
new_head[1] < 0 or new_head[1] >= GRID_HEIGHT or
new_head in snake):
running = False # завершение игры при столкновении

snake.insert(0, new_head)

if new_head == food:
food = spawn_food()
else:
snake.pop()

screen.fill(WHITE)
food_rect = pygame.Rect(food[0] * CELL_SIZE, food[1] * CELL_SIZE, CELL_SIZE, CELL_SIZE)
pygame.draw.rect(screen, RED, food_rect)

for segment in snake:
segment_rect = pygame.Rect(segment[0] * CELL_SIZE, segment[1] * CELL_SIZE, CELL_SIZE, CELL_SIZE)
pygame.draw.rect(screen, GREEN, segment_rect)

draw_grid()
pygame.display.flip()
clock.tick(FPS)

pygame.quit()
Тимур КуликовУченик (96) 1 месяц назад
tysm
Александр Загуляев Мыслитель (8248) Тимур Куликов, что это значит? работает код?
Похожие вопросы