Попробуй бесплатно !
Всем привет , хочу предложить Вам код от игры прохожей на Марио !
Не благодарите !!)
# Импортируем модули pygame и sys
import pygame
import sys
# Задаем константы для размера экрана, цветов и гравитации
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
GRAVITY = 1
# Создаем класс для персонажа
class Player(pygame.sprite.Sprite):
# Инициализируем атрибуты персонажа
def __init__(self):
# Вызываем конструктор родительского класса
super().__init__()
# Задаем размеры и цвет персонажа
self.width = 50
self.height = 50
self.color = RED
# Создаем изображение персонажа и заполняем его цветом
self.image = pygame.Surface([self.width, self.height])
self.image.fill(self.color)
# Получаем прямоугольник изображения персонажа
self.rect = self.image.get_rect()
# Задаем начальные координаты персонажа на экране
self.rect.x = SCREEN_WIDTH // 2 - self.width // 2
self.rect.y = SCREEN_HEIGHT - self.height - 10
# Задаем начальные скорости по оси x и y
self.change_x = 0
self.change_y = 0
# Обновляем положение персонажа на экране
def update(self):
# Добавляем гравитацию к скорости по оси y
self.change_y += GRAVITY
# Перемещаем персонажа по оси x
self.rect.x += self.change_x
# Проверяем столкновения с платформами по оси x
platform_hit_list_x = pygame.sprite.spritecollide(self, platform_list, False)
for platform in platform_hit_list_x:
# Если двигаемся вправо
if self.change_x > 0:
# Устанавливаем правый край персонажа по левому краю платформы
self.rect.right = platform.rect.left
# Если двигаемся влево
elif self.change_x < 0:
# Устанавливаем левый край персонажа по правому краю платформы
self.rect.left = platform.rect.right
# Обнуляем скорость по оси x
self.change_x = 0