Полностью рабочий код игры
import pygame
import random
# Инициализация pygame
pygame.init()
# Размеры окна
WIDTH, HEIGHT = 800, 600
win = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Мясорубка")
# Цвета
WHITE = (255, 255, 255)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
# Скорость персонажей
player_speed = 5
enemy_speed = 2
# Размеры игрока и врагов
player_size = 50
enemy_size = 50
# Координаты игрока
player_x, player_y = WIDTH // 2, HEIGHT // 2
# Список врагов
enemies = []
# Добавление врага
def add_enemy():
x = random.randint(0, WIDTH - enemy_size)
y = random.randint(0, HEIGHT - enemy_size)
enemies.append([x, y, random.choice(["up", "down", "left", "right"])])
# Обновление позиции врагов
def move_enemies():
for enemy in enemies:
if enemy[2] == "up":
enemy[1] -= enemy_speed
elif enemy[2] == "down":
enemy[1] += enemy_speed
elif enemy[2] == "left":
enemy[0] -= enemy_speed
elif enemy[2] == "right":
enemy[0] += enemy_speed
# Проверка выхода за границы экрана и смена направления
if enemy[0] < 0:
enemy[0] = 0
enemy[2] = "right"
elif enemy[0] > WIDTH - enemy_size:
enemy[0] = WIDTH - enemy_size
enemy[2] = "left"
if enemy[1] < 0:
enemy[1] = 0
enemy[2] = "down"
elif enemy[1] > HEIGHT - enemy_size:
enemy[1] = HEIGHT - enemy_size
enemy[2] = "up"
# Главный игровой цикл
run = True
clock = pygame.time.Clock()
# Время до добавления следующего врага
enemy_add_time = 1000 # 1 секунда
last_enemy_add_time = pygame.time.get_ticks()
while run:
clock.tick(30)
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
player_x -= player_speed
if keys[pygame.K_RIGHT]:
player_x += player_speed
if keys[pygame.K_UP]:
player_y -= player_speed
if keys[pygame.K_DOWN]:
player_y += player_speed
# Ограничение движения игрока границами окна
if player_x < 0:
player_x = 0
elif player_x > WIDTH - player_size:
player_x = WIDTH - player_size
if player_y < 0:
player_y = 0
elif player_y > HEIGHT - player_size:
player_y = HEIGHT - player_size
# Добавление врага через определенные промежутки времени
current_time = pygame.time.get_ticks()
if current_time - last_enemy_add_time > enemy_add_time:
add_enemy()
last_enemy_add_time = current_time
# Движение врагов
move_enemies()
# Проверка столкновений с врагами
for enemy in enemies:
if pygame.Rect(player_x, player_y, player_size, player_size).colliderect(pygame.Rect(enemy[0], enemy[1], enemy_size, enemy_size)):
run = False # Конец игры при столкновении
# Отрисовка
win.fill(WHITE)
pygame.draw.rect(
win, GREEN, (player_x, player_y, player_size, player_size))
for enemy in enemies:
pygame.draw.rect(
win, RED, (enemy[0], enemy[1], enemy_size, enemy_size))
pygame.display.update()
pygame.quit()
и версия со стрельбой тут уже код не помещается и можно
Скачать тут в полном виде
В игре нужна стартовая локация по которой будет перемещаться главный персонаж убивая врагов,они просто должны ходить вверх, вниз, вправо, влево