Как создавать бонусы и коллекции в Pygame

Как создавать бонусы и коллекции в Pygame Picture 1

Бонусы и коллекции играют важную роль в улучшении игрового процесса и делают игру более увлекательной. Добавляя эти компоненты в свой проект Pygame, вы можете создавать уникальные задачи, повышать мотивацию игроков и предоставлять возможности для принятия стратегических решений.

К счастью, PyGame предоставляет гибкий способ сделать бонусы и коллекции относительно простыми в развертывании.

Создайте простую игру

Прежде чем начать, убедитесь, что в вашей системе установлен pip. Используйте эту команду для установки библиотеки pygame:

pip установить pygame

Начните с создания простой игры, в которой игрок может двигаться влево и вправо, избегая врагов.

Это служит основой для добавления бонусов и коллекций. Вот пример кода:

import pygame import random # Khởi tạo Pygame pygame.init() # Thiết lập cửa sổ game window_width = 800 window_height = 600 window = pygame.display.set_mode((window_width, window_height)) pygame.display.set_caption(“Моя игра”) # Thiet lập người chơi player_width = 50 player_height = 50 player_x = (window_width – player_width) // 2 player_y = window_height – player_height – 10 player_speed = 5 0 вражеский_x = случайный.randint(0, window_width – вражеская_ширина) вражеский_у = 50 вражеская скорость = 3 # Игровой цикл работает = Истина во время работы: для события в pygame.event.get(): if event.type == pygame.QUIT: running = False # Di chuyển của người chơi keys = pygame.key.get_pressed(), если keys(pygame.K_LEFT) и player_x > 0: player_x -= player_speed, если keys(pygame.K_RIGHT) и player_x < window_width - player_width: player_x += player_speed = вражеская_скорость, если вражеский_y > window_height: вражеский_x = random.randint(0, window_width – вражеская_ширина) вражеский_y = 0 # Phát hiện va chạm if (player_x < вражеский_x + вражеский_ширина) и (игрок_х + игрок_ширина > вражеский_x) и (игрок_у < вражеский_у + вражеский_высота ) и (player_y + player_height > вражеский_y): running = False # Хоть какое-то окно.fill((0, 0, 0)) player_pos = (player_x, player_y, player_width, player_height) вражеский_pos = (enemy_x, вражеский_y, вражеский_ширина, вражеский_высота ) # Vẽ người chơi pygame.draw.rect(window, (255, 255, 255), player_pos) # Vẽ kẻ thù pygame.draw.rect(window, (255, 0, 0), вражеский_pos) # Update man hình pygame .display.update() # Выбрать игру pygame.quit()

Результат:

Как создавать бонусы и коллекции в Pygame Picture 2

Создать коллекцию

Для создания коллекции добавьте предмет, который при столкновении с игроком исчезает и игра добавляет игроку 10 очков. Чтобы это работало, вы должны проверить коллизии между игроком и коллекцией. Вот обновленная версия кода, включающая коллекцию. Создайте новый файл с именем collectibles.py и добавьте следующий код и обновления:

# Тьет лэп бэ зэу тэп collectible_width = 30 collectible_height = 30 collectible_x = random.randint(0, window_width – collectible_width) collectible_y = 50 # Тхит лэтп йим số score = 0 font = pygame.font.Font( Нет, 36) # . # Phát hiện va chạm với đồ sưu tầm if (player_x < collectible_x + collectible_width) и (player_x + player_width > collectible_x) и (player_y < collectible_y + collectible_height) and (player_y + player_height > collectible_y): collectible_x = random.randint(0, window_width – ширина_коллекции) collectible_y = 50 очков += 10 # . collectible_pos = (collectible_x, collectible_y) # Vẽ đồ sưu tầm pygame.draw.circle(window, (0, 255, 0), collectible_pos, collectible_width) # Hiện điểm số score_text = font.render(“Score: ” + str(score ), True, (255, 255, 255)) window.blit(score_text, (10, 10))

Результат:

Как создавать бонусы и коллекции в Pygame. Изображение 3

Создание бонусов

Теперь вы можете ввести бонусы в игру, используя следующую логику. Когда игрок сталкивается с объектом усиления, он исчезает. Если игрок столкнется с врагом во время активации усиления, враг будет уничтожен. Создайте новый файл с именем powerups.py и добавьте приведенный ниже код и обновления:

# Время включения питания powerup_width = 40 powerup_height = 40 powerup_x = random.randint(0, window_width – powerup_width) powerup_y = 50 Shield_active = False Shield_timer = 0 # . # Phát hiện va chạm với power-up collage_powerup = (player_x < powerup_x + powerup_width) и (player_x + player_width > powerup_x) и (player_y < powerup_y + powerup_height) и (player_y + player_height > powerup_y) if Collision_powerup: powerup_x = random.randint (0, window_width – powerup_width) powerup_y = 50 Shield_active = True Shield_timer = pygame.time.get_ticks() # . # Киам тра хон гье ла чон if Shield_active: current_time = pygame.time.get_ticks() if current_time – Shield_timer > 5000: Shield_active = False # . # Xac định các đỉnh của tam giác x1 = powerup_x + powerup_width / 2 y1 = powerup_y x2 = powerup_x y2 = powerup_y + powerup_height x3 = powerup_x + powerup_width y3 = powerup_y + powerup_height # Vẽ hình tam gi ac pygame.draw.polygon(окно, ( 255, 255, 0), ((x1, y1), (x2, y2), (x3, y3))) # . # Phát hiện va chạm với lá chắn được kích hoạt traffic_shield = Shield_active и (player_x < вражеский_x + вражеский_ширина) и (игрок_х + игрок_ширина > вражеский_х) и (игрок_у < вражеский_у + вражеская_высота) и (игрок_у + игрок_высота > вражеский_у) при столкновении _щит: вражеский_x = random.randint(0, ширина_окна – ширина_врага) вражеский_y = 0

Результат:

Как создавать бонусы и коллекции в Pygame. Изображение 4

Установите время работы при включении питания

Чтобы усиление исчезло через определенное время и снова появилось в случайном месте, вы можете использовать таймер. Создайте новый файл с именем timer.py и добавьте код с приведенными ниже обновлениями:

# Thhiết lập đồng hồ bấm giờ xuất hiện lại powerup powerup_respawn_timer = 0 # Kiểm tra đồng hồ bấm giờ power-up if not shield_active: current_time = pygame.time.get_ticks() if current_time – powerup_respawn_timer > 3000: powerup_x = случайный. randint(0, window_width – powerup_width) powerup_y = 50 powerup_respawn_timer = pygame.time.get_ticks()

Визуализация таймера включения

Чтобы обеспечить визуальное представление таймера включения питания, вы можете нарисовать прямоугольный объект, который со временем исчезает. Создайте новый файл с именем bar.py и добавьте код со следующими обновлениями:

# Это не значит, что включено питание bar_width = 100 bar_height = 10 bar_x = window_width – bar_width – 10 bar_y = 10 # . # Время включения питания if Shield_active: current_time = pygame.time.get_ticks() elapsed_time = current_time – Shield_timer timer_progress = (5000 – elapsed_time) / 5000 # Время включения питания bar_rect = pygame.Rect(bar_ х , bar_y, bar_width * timer_progress, bar_height) pygame.draw.rect(окно, (0, 255, 255), bar_rect)

Результат:

Как создавать бонусы и коллекции в Pygame. Изображение 5

Вот как спроектировать и реализовать бонусы и коллекции в PyGame. Надеюсь, статья будет вам полезна.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *