- 28
- 15
Добрый вечер! Я хотел бы поделиться с вами ещё одним исходным кодом моей игры, который был написан всего за 5 минут. Не стесняйтесь использовать его по своему усмотрению – может быть, кто-то добавит в него что-то интересное и улучшит игровой опыт. Приятного изучения Python!
Python:
import pygame
import sys
import random
# Инициализация Pygame
pygame.init()
# Определение цветов
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
BLUE = (0, 0, 0)
# Размеры окна
WIDTH, HEIGHT = 1920, 1080
# Создание окна
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Space Adventure Game")
# Игровые переменные
player_size = 50
player_x = WIDTH // 2 - player_size // 2
player_y = HEIGHT - 2 * player_size
obstacle_size = 50
obstacle_speed = 5
obstacle_frequency = 25
obstacles = []
clock = pygame.time.Clock()
font = pygame.font.Font(None, 36)
score = 0
# Загрузка изображения игрока
player_image = pygame.image.load("player.png")
player_image = pygame.transform.scale(player_image, (player_size, player_size))
# Загрузка изображения препятствия
obstacle_image = pygame.image.load("obstacle.png")
obstacle_image = pygame.transform.scale(obstacle_image, (obstacle_size, obstacle_size))
# Главный цикл игры
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] and player_x > 0:
player_x -= 5
if keys[pygame.K_RIGHT] and player_x < WIDTH - player_size:
player_x += 5
# Увеличение частоты появления препятствий в зависимости от количества очков
if random.randint(1, obstacle_frequency - score // 100) == 1:
obstacle_x = random.randint(0, WIDTH - obstacle_size)
obstacle_y = 0
obstacles.append([obstacle_x, obstacle_y])
# Обновление координат препятствий
for obstacle in obstacles:
obstacle[1] += obstacle_speed
# Удаление препятствий, вышедших за пределы экрана
obstacles = [obstacle for obstacle in obstacles if obstacle[1] < HEIGHT]
# Проверка столкновения с препятствиями
for obstacle in obstacles:
if (
player_x < obstacle[0] + obstacle_size
and player_x + player_size > obstacle[0]
and player_y < obstacle[1] + obstacle_size
and player_y + player_size > obstacle[1]
):
pygame.quit()
sys.exit()
# Очки
score += 1
# Отрисовка на экране
screen.fill(BLUE)
screen.blit(player_image, (player_x, player_y))
for obstacle in obstacles:
screen.blit(obstacle_image, (obstacle[0], obstacle[1]))
score_text = font.render(f"Score: {score}", True, WHITE)
screen.blit(score_text, (10, 10))
pygame.display.flip()
clock.tick(30)
Вложения
Последнее редактирование: