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

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

Shiyami Geniu Ученик (95), на голосовании 2 дня назад
Буду благодарен если кто то поможет.
В игре нужна стартовая локация по которой будет перемещаться главный персонаж убивая врагов,они просто должны ходить вверх, вниз, вправо, влево
Голосование за лучший ответ
GGG Просветленный (26021) 1 месяц назад
 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
Татьяна Просветленный (32773) 1 месяц назад
Полностью рабочий код игры
 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) 1 месяц назад
Долго с чата gpt копировали?
Похожие вопросы