Внедрите такие элементы, как урон игрока, механика исцеления и многое другое, включив в свои игры систему здоровья.

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

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

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

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

После этого создайте файл с именем простая-game.py и начните с создания простой игры, в которой игрок может двигаться влево и вправо.

Код, используемый в этой статье, доступен в этом Репозиторий GitHub и вы можете использовать его бесплатно по лицензии MIT.

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

Импортировать пигейм
Импортировать случайный

# Инициализировать PyGame
pygame.init()

instagram viewer

# Настраиваем окно игры
ширина_окна, высота_окна = 800, 600
окно = pygame.display.set_mode((window_width, window_height))
pygame.display.set_caption(«Демонстрация системы здравоохранения»)

# Атрибуты игрока
player_width, player_height = 50, 50
player_x, player_y = ширина_окна // 2, высота_окна - высота_игрока - 10
player_speed = 1

# Атрибуты врага
вражеская_ширина, вражеская_высота = 50, 50
вражеский_x, вражеский_y = случайный.randint(0, window_width - ширина_врага), 0
вражеская_скорость = 0.3

# Игровой цикл
работает = Истинный
пока бег:
для событие в pygame.event.get():
если event.type == pygame. ПОКИДАТЬ:
работает = ЛОЖЬ

# Переместить игрока влево или вправо
ключи = pygame.key.get_pressed()
если ключи[pygame. K_LEFT] и игрок_х > 0:
player_x -= скорость_игрока
если ключи[pygame. K_RIGHT] и player_x < ширина окна - player_width:
player_x += player_speed

# Переместить врага вниз
вражеский_y += вражеская_скорость

# Рисуем игровые объекты
окно.заполнить((0, 0, 0)) # Очистить экран
pygame.draw.rect (окно, (255, 0, 0),
(игрок_х, игрок_у,
player_width, player_height))
pygame.draw.rect (окно, (0, 255, 0),
(враг_х, враг_у,
вражеская_ширина, вражеская_высота)) # Рисуем врага
pygame.display.update()

pygame.выйти()

Запустите код, и вы увидите окно с персонажем игрока, которым вы можете управлять с помощью клавиш со стрелками влево и вправо.

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

Установите начальное здоровье игрока на 100, установите максимальное здоровье на 100 и установите урон врага на 20. Эти значения можно настроить в соответствии с конкретными потребностями вашей игры.

# Здоровье игрока
player_health = 100
максимальное_здоровье = 100
вражеский_урон = 20

Реализация механики повреждений и исцеления

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

Проверьте, есть ли столкновение между игроком и врага, сравнивая их ограничивающие прямоугольники. Если обнаружено столкновение, вычтите значение урона противника из здоровья игрока.

Кроме того, если игрок перемещается за верхнюю часть экрана (player_y < 0), добавьте 10 к их здоровью и убедитесь, что оно не превышает максимальное значение здоровья. Это создает механику лечения и сбрасывает положение игрока в нижнюю часть экрана.

Создайте новый файл с именем повреждение-и-исцеление.py и добавьте код со следующими обновлениями:

# Внутри игрового цикла, после обновления позиции врага
# Обнаружение столкновения между игроком и противником
если player_x < вражеский_x + вражеский_ширина и \
player_x + player_width > вражеский_x и \
player_y < вражеский_y + вражеский_высота \
и player_y + player_height > вражеский_y:
player_health = вражеский_урон
печать (player_health)

# Лечите игрока, когда он выходит за пределы экрана
если игрок_у < 0:
player_health += 10
печать (player_health)
если player_health > максимальное_здоровье:
player_health = максимальное_здоровье
player_y = высота_окна - высота_игрока - 10

Ниже приведен вывод:

Управление сценариями смерти игрока и Game Over

Чтобы обработать сценарии смерти игрока и завершения игры, вам нужно проверить, достигает ли здоровье игрока нуля. Если это так, отобразите Игра закончена сообщение и перезапустите игру.

Добавьте проверку, чтобы узнать, падает ли здоровье игрока ниже или равно нулю. Если это условие верно, выведите Игра закончена и сбросить здоровье и положение игрока.

Создайте новый файл с именем управлять-player-death.py и измените код с помощью следующих обновлений:

# После обновления позиции игрока

# Проверяем, достигает ли здоровье игрока нуля
если player_health <= 0:
Распечатать("Игра закончена")
player_health = максимальное_здоровье
player_x = ширина_окна // 2
player_y = высота_окна - высота_игрока - 10

Включая дополнительные функции

Для дальнейшего улучшения системы здравоохранения вы можете включить дополнительные функции. Ниже приведен пример:

Бонусы

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

В игровом цикле обнаруживайте столкновения между игроком и усилением. Если происходит столкновение, увеличьте здоровье игрока на значение здоровья бонуса, убедившись, что оно не превышает максимальное значение здоровья. Затем переместите питание случайным образом на экране. Наконец, нарисуйте объект усиления на экране с помощью синего прямоугольника.

Создайте новый файл с именем power-up.py и добавьте код со следующими обновлениями:

# Определить атрибуты усиления
power_up_width, power_up_height = 30, 30
power_up_x, power_up_y = 200,200
power_up_health_value = 50

# Внутри игрового цикла, после обновления позиции игрока
# Обнаружение столкновения между игроком и усилением
если player_x < power_up_x + power_up_width и\
player_x + player_width > power_up_x \
и player_y < power_up_y + power_up_height\
и player_y + player_height > power_up_y:
player_health += power_up_health_value
если player_health > максимальное_здоровье:
player_health = максимальное_здоровье
power_up_x, power_up_y = 200,200

# Нарисовать объект усиления
pygame.draw.rect (окно, (0, 0, 255),
(power_up_x, power_up_y,
power_up_width,
power_up_height))

Ниже приведен вывод:

Для каждой дополнительной функции можно определить необходимые переменные и константы и реализовать соответствующую механику внутри игрового цикла.

Лучшие практики для системы здравоохранения

При реализации системы здоровья в PyGame помните о следующих рекомендациях:

Внедрение систем, управляемых событиями

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

Сбалансируйте ценности здоровья

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

Обеспечить обратную связь

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

Следуя этим рекомендациям, вы сможете создать надежную и привлекательную систему здоровья, которая сделает игровой процесс захватывающим.

Сделайте игры более увлекательными с полосой здоровья

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