Zahrnutím systému zdraví do svých her zaveďte prvky, jako je poškození hráče, mechanika léčení a další.

Implementace zdravotního systému ve hře může výrazně zlepšit herní zážitek a přidat další vrstvu výzev a strategie. PyGame poskytuje robustní sadu nástrojů a funkcí pro začlenění zdravotního systému, což usnadňuje vytváření interaktivních zážitků.

Vytvořte jednoduchou hru

Než začnete, ujistěte se, že máte pip nainstalovaný ve vašem systému. Tento příkaz použijte k instalaci pygame knihovna:

pip nainstalovat pygame

Poté vytvořte soubor s názvem jednoduchá hra.py a začněte vytvořením jednoduché hry, kde se hráč může pohybovat doleva a doprava.

Kód použitý v tomto článku je k dispozici v tomto úložiště GitHub a můžete jej používat zdarma pod licencí MIT.

V této základní herní smyčce bude cílem hráče vyhnout se kolizi s nepřítelem.

import pygame
import náhodný

# Inicializujte PyGame
pygame.init()

# Nastavte herní okno
window_width, window_height = 800, 600
okno = pygame.display.set_mode((šířka_okna, výška_okna))
pygame.display.set_caption("Ukázka zdravotního systému")

instagram viewer

# Atributy hráče
player_width, player_height = 50, 50
hráč_x, hráč_y = šířka_okna // 2, výška_okna - výška_hráče - 10
player_speed = 1

# Atributy nepřítele
nepřítel_šířka, nepřítel_výška = 50, 50
nepřítel_x, nepřítel_y = random.randint(0, šířka_okna - šířka_nepřítele), 0
rychlost nepřítele = 0.3

# Herní smyčka
běh = Skutečný
zatímco běh:
pro událost v pygame.event.get():
-li event.type == pygame. PŘESTAT:
běh = Nepravdivé

# Přesuňte přehrávač doleva nebo doprava
keys = pygame.key.get_pressed()
-li klíče [pygame. K_LEFT] a player_x > 0:
player_x -= player_speed
-li klíče [pygame. K_RIGHT] a player_x < window_width - player_width:
player_x += player_speed

# Posuňte nepřítele dolů
nepřítel_y += rychlost_ nepřítele

# Kreslit herní objekty
window.fill((0, 0, 0)) # Vyčistěte obrazovku
pygame.draw.rect (okno, (255, 0, 0),
(player_x, player_y,
player_width, player_height))
pygame.draw.rect (okno, (0, 255, 0),
(nepřítel_x, nepřítel_y,
nepřítel_šířka, nepřítel_výška)) # Nakreslete nepřítele
pygame.display.update()

pygame.quit()

Spusťte kód a uvidíte okno s postavou hráče, kterou můžete ovládat pomocí kláves se šipkami doleva a doprava.

Nyní, když máte základní nastavení hry, definujte proměnné a konstanty související se zdravím hráče. Můžete použít jednoduchý zdravotní systém, kde můžete reprezentovat zdraví hráče číselnou hodnotou. Můžete také definovat konstanty pro maximální zdraví hráče a množství poškození způsobeného nepřítelem.

Nastavte počáteční zdraví hráče na 100, definujte maximální zdraví jako 100 a nastavte poškození nepřítele na 20. Tyto hodnoty lze upravit podle konkrétních potřeb vaší hry.

# Zdraví hráče
player_health = 100
max_health = 100
poškození_ nepřítele = 20

Implementace mechaniky poškození a léčení

Chcete-li zavést mechanismy poškození a léčení, musíte detekovat kolize mezi hráčem a nepřítelem a zvládnout odpovídající změny zdraví. Můžete také implementovat mechanismus, který hráče vyléčí, když opustí obrazovku.

Zkontrolujte, zda existuje kolize mezi hráčem a nepřítele porovnáním jejich ohraničujících obdélníků. Pokud je zjištěna kolize, odečtěte hodnotu poškození nepřítele od zdraví hráče.

Navíc, pokud se hráč přesune z horní části obrazovky (hráč_y < 0), přidejte 10 ke svému zdraví a ujistěte se, že nepřekračuje maximální zdraví. Tím vytvoříte mechaniku léčení a resetujete pozici hráče na spodní část obrazovky.

Vytvořte nový soubor s názvem poškození-a-léčení.py a přidejte kód s níže uvedenými aktualizacemi:

# Uvnitř herní smyčky, po aktualizaci nepřátelské pozice
# Detekce kolize mezi hráčem a nepřítelem
-li hráč_x < nepřítel_x + šířka_nepřítele a \
hráč_x + šířka_hráče > nepřítel_x a \
hráč_y < nepřítel_y + výška_nepřítele \
a hráč_y + výška_hráče > nepřítel_y:
player_health -= nepřátelské_poškození
tisknout (heal_health)

# Uzdravte hráče, když se pohybují mimo obrazovku
-li player_y < 0:
player_health += 10
tisknout (heal_health)
-li player_health > max_health:
player_health = max_health
player_y = window_height - player_height - 10

Níže je výstup:

Správa hráčské smrti a herních scénářů

Abyste zvládli hráčovu smrt a scénáře konce hry, musíte zkontrolovat, zda zdraví hráče dosahuje nuly. Pokud ano, zobrazte a Konec hry zprávu a restartujte hru.

Přidejte kontrolu, abyste zjistili, zda zdraví hráče neklesne pod nebo se rovná nule. Pokud je tato podmínka pravdivá, vytiskněte Konec hry a resetujte zdraví a pozici hráče.

Vytvořte nový soubor s názvem manage-player-death.py a upravte kód pomocí níže uvedených aktualizací:

# Po aktualizaci pozice hráče

# Zkontrolujte, zda zdraví hráče nedosahuje nuly
-li player_health <= 0:
tisk("Konec hry")
player_health = max_health
player_x = šířka_okna // 2
player_y = window_height - player_height - 10

Včetně dalších funkcí

Pro další vylepšení zdravotního systému můžete začlenit další funkce. Níže je uveden příklad:

Power-ups

Definujte atributy power-upu, jako jsou jeho rozměry a poloha. Nastavte také hodnotu zdraví, kterou hráč získá při kolizi s power-upem.

V rámci herní smyčky detekujte kolize mezi hráčem a power-upem. Pokud dojde ke kolizi, zvyšte hráčovo zdraví o hodnotu zdraví power-upu a ujistěte se, že nepřekračuje maximální zdraví. Poté náhodně přemístěte napájení na obrazovce. Nakonec nakreslete aktivovaný objekt na obrazovku pomocí modrého obdélníku.

Vytvořte nový soubor s názvem power-up.py a přidejte kód s níže uvedenými aktualizacemi:

# Definujte atributy zapnutí
power_up_width, power_up_height = 30, 30
power_up_x, power_up_y = 200,200
power_up_health_value = 50

# Uvnitř herní smyčky, po aktualizaci pozice hráče
# Detekce kolize mezi přehrávačem a zapnutím
-li player_x < power_up_x + power_up_width a\
player_x + player_width > power_up_x \
a player_y < power_up_y + power_up_height\
a player_y + player_height > power_up_y:
player_health += power_up_health_value
-li player_health > max_health:
player_health = max_health
power_up_x, power_up_y = 200,200

# Nakreslete objekt při zapnutí
pygame.draw.rect (okno, (0, 0, 255),
(power_up_x, power_up_y,
power_up_width,
power_up_height))

Níže je výstup:

Pro každou další funkci můžete definovat potřebné proměnné a konstanty a implementovat odpovídající mechaniku do herní smyčky.

Best Practices for Health System

Při implementaci zdravotního systému v PyGame mějte na paměti následující osvědčené postupy:

Implementujte systémy řízené událostmi

Namísto neustálého kontrolování kolizí nebo zdravotních změn v rámci herní smyčky zvažte použití systémů řízených událostmi. PyGame poskytuje funkce pro zpracování událostí, které vám umožňují spouštět akce související se zdravím na základě konkrétních událostí, jako jsou kolize nebo události zvednutí napájení.

Vyvážení hodnot zdraví

Upravte hodnoty zdraví, hodnoty poškození a míru léčení ve své hře, abyste zajistili vyvážený herní zážitek. Testování hry a získávání zpětné vazby od hráčů vám může pomoci tyto hodnoty vyladit pro optimální hru.

Poskytnout zpětnou vazbu

Zajistěte, aby hráč dostal jasnou a smysluplnou zpětnou vazbu týkající se jeho zdravotního stavu. Zobrazte na obrazovce výrazně pruh zdraví, použijte vizuální vodítka, jako jsou změny barev nebo animace k označení poškození nebo léčení, a poskytovat zvukové nebo vizuální podněty když zdraví hráče dosáhne kritické úrovně.

Dodržováním těchto osvědčených postupů můžete vytvořit robustní a poutavý zdravotní systém, který přispívá k pohlcujícímu hernímu zážitku.

Udělejte hry poutavějšími pomocí Health Bar

Implementace zdravotního systému nejen přidává vrstvu výzev, ale také činí hry pro hráče poutavější. Začleněním vizuálních znázornění zdraví, jako jsou ukazatele zdraví, mohou hráči snadno posoudit svůj aktuální stav a činit strategická rozhodnutí. Navíc přidání úrovní do vaší hry může dále zlepšit herní zážitek.