Составьте программу, в которой 2 персонажа будут двигаться по экрану. Управление персонажами происходит с клавиатуры. Структура программы: 1. Подключение и инициализация библиотеки pygame 2. Создание игрового окна (1000x800) 3. Загрузка 2х персонажей(р1,p2) и фона(bg) (можно взять картинки с компьютера) 4. Изменение размеров персонажа и фона (при необходимости) 5. Задайте начальные координаты для персонажей: x1,y1 для р1 и х2,у2 для р2 6. Создайте объект для работы со временем(clock) 7. Основной цикл игры (while True): 1) команды для выхода из игры 2) команды для управления 1м персонажем(p1) с клавиатуры (стрелки) - сдвиг х1,y1 за 1 шаг на 5рх 3) команды для управления 2м персонажем(р2) с клавиатуры (клавиши ASWD) - сдвиг х2,у2 за 1 шаг на 5рх 4) команда для отрисовки фона 5) команда для отрисовки первого персонажа(p1) 6) команда для торого персонажа(p2) 7) команда для обновления дисплея 8) команда для установки максимального кол-ва кадров в секунду
Ответы
Ответ:
import pygame
# инициализация Pygame
pygame.init()
# создание игрового окна
screen_width = 1000
screen_height = 800
screen = pygame.display.set_mode((screen_width, screen_height))
# загрузка изображений персонажей и фона
background_image = pygame.image.load('background.jpg')
player1_image = pygame.image.load('player1.png')
player2_image = pygame.image.load('player2.png')
# изменение размеров персонажей и фона, если необходимо
background_image = pygame.transform.scale(background_image, (screen_width, screen_height))
player1_image = pygame.transform.scale(player1_image, (50, 50))
player2_image = pygame.transform.scale(player2_image, (50, 50))
# начальные координаты для персонажей
player1_x = 100
player1_y = 100
player2_x = 400
player2_y = 400
# создание объекта для работы со временем
clock = pygame.time.Clock()
# основной цикл игры
while True:
# команды для выхода из игры
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
# команды для управления первым персонажем с клавиатуры
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
player1_x -= 5
if keys[pygame.K_RIGHT]:
player1_x += 5
if keys[pygame.K_UP]:
player1_y -= 5
if keys[pygame.K_DOWN]:
player1_y += 5
# команды для управления вторым персонажем с клавиатуры
if keys[pygame.K_a]:
player2_x -= 5
if keys[pygame.K_d]:
player2_x += 5
if keys[pygame.K_w]:
player2_y -= 5
if keys[pygame.K_s]:
player2_y += 5
# отрисовка фона
screen.blit(background_image, (0, 0))
# отрисовка первого персонажа
screen.blit(player1_image, (player1_x, player1_y))
# отрисовка второго персонажа
screen.blit(player2_image, (player2_x, player2_y))
# обновление дисплея
pygame.display.update()
# установка максимального кол-ва кадров в секунду
clock.tick(60)