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

Срочно! Нужно написать код для игры мясорубки на python

Shiyami Geniu Ученик (95), на голосовании 10 месяцев назад
Буду благодарен если кто то поможет.
В игре нужна стартовая локация по которой будет перемещаться главный персонаж убивая врагов,они просто должны ходить вверх, вниз, вправо, влево
Голосование за лучший ответ
Cogni Просветленный (49734) 11 месяцев назад
 import random 

class Character:
def __init__(self, x, y):
self.x = x
self.y = y

def move(self, direction):
if direction == 'up':
self.y -= 1
elif direction == 'down':
self.y += 1
elif direction == 'left':
self.x -= 1
elif direction == 'right':
self.x += 1

class Enemy(Character):
def __init__(self, x, y):
super().__init__(x, y)
self.directions = ['up', 'down', 'left', 'right']

def move(self):
direction = random.choice(self.directions)
super().move(direction)

player = Character(0, 0)
enemies = [Enemy(random.randint(0, 10), random.randint(0, 10)) for _ in range(5)]

while True:
direction = input("Enter direction (up, down, left, right): ")
player.move(direction)

for enemy in enemies:
enemy.move()
if player.x == enemy.x and player.y == enemy.y:
print("You killed an enemy!")
enemies.remove(enemy)

if not enemies:
print("You killed all enemies!")
break
Татьяна Просветленный (36885) 11 месяцев назад
Полностью рабочий код игры
 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()

и версия со стрельбой тут уже код не помещается и можно
Скачать тут
в полном виде
Shiyami GeniuУченик (95) 11 месяцев назад
Долго с чата gpt копировали?
Похожие вопросы