Začleňovaním zdravotného systému do svojich hier zaveďte prvky, ako je poškodenie hráča, mechanika liečenia a ďalšie.

Implementácia zdravotného systému v hre môže výrazne zlepšiť herný zážitok a pridať ďalšiu vrstvu výziev a stratégie. PyGame poskytuje robustnú sadu nástrojov a funkcií na začlenenie zdravotného systému, čo uľahčuje vytváranie interaktívnych zážitkov.

Vytvorte jednoduchú hru

Pred začatím sa uistite, že máte pip nainštalovaný vo vašom systéme. Tento príkaz použite na inštaláciu pygame knižnica:

pip install pygame

Potom vytvorte súbor s názvom jednoduchá hra.py a začnite vytvorením jednoduchej hry, v ktorej sa hráč môže pohybovať doľava a doprava.

Kód použitý v tomto článku je dostupný v tomto úložisko GitHub a môžete ho bezplatne používať na základe licencie MIT.

V tejto základnej hernej slučke bude cieľom hráča vyhnúť sa zrážke s nepriateľom.

importovať pygame
importovať náhodný

# Inicializujte PyGame
pygame.init()

# Nastavte herné okno
window_width, window_height = 800, 600
okno = pygame.display.set_mode((šírka_okna, výška_okna))

instagram viewer

pygame.display.set_caption("Ukážka zdravotného systému")

# Atribúty hráča
player_width, player_height = 50, 50
hráč_x, hráč_y = šírka_okna // 2, výška_okna - výška_hráča - 10
player_speed = 1

# Atribúty nepriateľa
nepriateľ_šírka, nepriateľ_výška = 50, 50
nepriateľ_x, nepriateľ_y = random.randint(0, šírka_okna - šírka_nepriateľa), 0
rýchlosť nepriateľa = 0.3

# Herná slučka
beh = Pravda
zatiaľ čo beh:
pre udalosť v pygame.event.get():
ak event.type == pygame. UKONČIŤ:
beh = Nepravdivé

# Presuňte prehrávač doľava alebo doprava
keys = pygame.key.get_pressed()
ak kľúče [pygame. K_LEFT] a player_x > 0:
player_x -= player_speed
ak kľúče [pygame. K_RIGHT] a player_x < window_width - player_width:
player_x += player_speed

# Posuňte nepriateľa nadol
nepriateľ_y += rýchlosť_priateľa

# Nakreslite herné objekty
window.fill((0, 0, 0)) # Vyčistite obrazovku
pygame.draw.rect (okno, (255, 0, 0),
(player_x, player_y,
player_width, player_height))
pygame.draw.rect (okno, (0, 255, 0),
(nepriateľ_x, nepriateľ_y,
nepriateľ_šírka, nepriateľ_výška)) # Nakreslite nepriateľa
pygame.display.update()

pygame.quit()

Spustite kód a uvidíte okno s postavou hráča, ktorú môžete ovládať pomocou šípok doľava a doprava.

Teraz, keď máte základné nastavenie hry, definujte premenné a konštanty súvisiace so zdravím hráča. Môžete použiť jednoduchý zdravotný systém, kde môžete reprezentovať zdravie hráča číselnou hodnotou. Môžete tiež definovať konštanty pre maximálne zdravie hráča a množstvo poškodenia spôsobeného nepriateľom.

Nastavte počiatočné zdravie hráča na 100, definujte maximálne zdravie ako 100 a nastavte poškodenie nepriateľa na 20. Tieto hodnoty je možné upraviť podľa špecifických potrieb vašej hry.

# Zdravie hráča
zdravie hráča = 100
max_health = 100
poškodenie_ nepriateľa = 20

Implementácia mechaniky poškodenia a hojenia

Ak chcete zaviesť mechanizmus poškodenia a liečenia, musíte zistiť kolízie medzi hráčom a nepriateľom a zvládnuť príslušné zmeny zdravia. Môžete tiež implementovať mechanizmus na vyliečenie hráča, keď sa presunie z obrazovky.

Skontrolujte, či existuje a kolízia medzi hráčom a nepriateľa porovnaním ich ohraničujúcich obdĺžnikov. Ak sa zistí kolízia, odpočítajte hodnotu poškodenia nepriateľa od zdravia hráča.

Okrem toho, ak sa hráč presunie z hornej časti obrazovky (hráč_y < 0), pridajte k ich zdraviu 10 a uistite sa, že nepresiahne maximálne zdravie. Tým sa vytvorí liečivá mechanika a poloha hráča sa vráti do spodnej časti obrazovky.

Vytvorte nový súbor s názvom poškodenie-a-hojenie.py a pridajte kód s nižšie uvedenými aktualizáciami:

# Vo vnútri hernej slučky po aktualizácii nepriateľskej pozície
# Zistite kolíziu medzi hráčom a nepriateľom
ak hráč_x < nepriateľ_x + šírka_priateľa a \
hráč_x + šírka_hráča > nepriateľ_x a \
hráč_y < nepriateľ_y + výška_nepriateľa \
a hráč_y + výška_hráča > nepriateľ_y:
zdravie hráča -= poškodenie_ nepriateľa
vytlačiť (health_player)

# Uzdravte hráča, keď sa presunie z obrazovky
ak player_y < 0:
player_health += 10
vytlačiť (health_player)
ak player_health > max_health:
player_health = max_health
player_y = window_height - player_height - 10

Nižšie je výstup:

Správa úmrtia hráčov a scenárov hry

Ak chcete zvládnuť scenáre smrti hráča a konca hry, musíte skontrolovať, či zdravie hráča nedosiahne nulu. Ak áno, zobrazte a Koniec hry správu a reštartujte hru.

Pridajte kontrolu, aby ste zistili, či zdravie hráča neklesne pod alebo sa rovná nule. Ak je táto podmienka splnená, vytlačte Koniec hry a resetujte zdravie a pozíciu hráča.

Vytvorte nový súbor s názvom manage-player-death.py a upravte kód pomocou nasledujúcich aktualizácií:

# Po aktualizácii pozície hráča

# Skontrolujte, či zdravie hráča nedosiahne nulu
ak zdravie hráča <= 0:
vytlačiť ("Koniec hry")
player_health = max_health
player_x = šírka_okna // 2
player_y = window_height - player_height - 10

Vrátane ďalších funkcií

Na ďalšie zlepšenie zdravotného systému môžete začleniť ďalšie funkcie. Nižšie je uvedený príklad:

Power-ups

Definujte atribúty power-upu, ako sú jeho rozmery a poloha. Tiež si nastavte hodnotu zdravia, ktorú hráč získa pri zrážke s power-upom.

V rámci hernej slučky zisti kolízie medzi hráčom a power-upom. Ak dôjde ku kolízii, zvýšte zdravie hráča o hodnotu zdravia vylepšenia a uistite sa, že nepresiahne maximálne zdravie. Potom náhodne premiestnite zapnutie na obrazovke. Nakoniec nakreslite predmet zapnutia na obrazovku pomocou modrého obdĺžnika.

Vytvorte nový súbor s názvom power-up.py a pridajte kód s nižšie uvedenými aktualizáciami:

# Definujte atribúty pri zapnutí
power_up_width, power_up_height = 30, 30
power_up_x, power_up_y = 200,200
power_up_health_value = 50

# Vo vnútri hernej slučky po aktualizácii pozície hráča
# Zistite kolíziu medzi prehrávačom a zapnutím
ak 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
ak player_health > max_health:
player_health = max_health
power_up_x, power_up_y = 200,200

# Nakreslite predmet pri zapnutí
pygame.draw.rect (okno, (0, 0, 255),
(power_up_x, power_up_y,
power_up_width,
power_up_height))

Nižšie je výstup:

Pre každú ďalšiu funkciu môžete definovať potrebné premenné a konštanty a implementovať zodpovedajúce mechanizmy v rámci hernej slučky.

Najlepšie postupy pre systém zdravotníctva

Pri implementácii zdravotného systému v PyGame majte na pamäti nasledujúce osvedčené postupy:

Implementujte systémy riadené udalosťami

Namiesto neustáleho zisťovania kolízií alebo zmien zdravia v rámci hernej slučky zvážte použitie systémov riadených udalosťami. PyGame poskytuje možnosti spracovania udalostí, ktoré vám umožňujú spúšťať akcie súvisiace so zdravím na základe špecifických udalostí, ako sú kolízne udalosti alebo udalosti po zapnutí.

Vyvážiť hodnoty zdravia

Upravte hodnoty zdravia, hodnoty poškodenia a miery liečenia vo svojej hre, aby ste zaistili vyvážený herný zážitok. Testovanie hry a získavanie spätnej väzby od hráčov vám môže pomôcť vyladiť tieto hodnoty pre optimálne hranie.

Poskytnite spätnú väzbu

Zaistite, aby hráč dostal jasnú a zmysluplnú spätnú väzbu týkajúcu sa jeho zdravotného stavu. Zobrazte panel zdravia výrazne na obrazovke, použite vizuálne podnety, ako sú zmeny farieb alebo animácie na označenie poškodenia alebo liečenia a poskytovať zvukové alebo vizuálne podnety keď zdravie hráča dosiahne kritickú úroveň.

Dodržiavaním týchto osvedčených postupov môžete vytvoriť robustný a pútavý zdravotný systém, ktorý prispieva k pohlcujúcim zážitkom z hry.

Urobte hry pútavejšími pomocou Health Bar

Implementácia zdravotného systému nielen pridáva vrstvu výziev, ale robí hry pre hráčov pútavejšími. Začlenením vizuálnych znázornení zdravia, ako sú zdravotné pruhy, môžu hráči ľahko posúdiť svoj aktuálny stav a robiť strategické rozhodnutia. Navyše, pridanie úrovní do vašej hry môže ešte viac vylepšiť herný zážitok.