Chcete vo svojej hre vylepšiť zvládanie nebezpečenstva? Premeňte životy na zdravie a dodajte svojej hrateľnosti ďalší rozmer.

Pridanie zdravotného systému do vašej arkádovej hry môže zlepšiť hráčsky zážitok a môže pridať ďalšiu vrstvu výzvy a zapojenia. Pomocou zobrazenia zdravia hráča a mechanizmov poškodenia a liečenia si môžete vytvoriť pohlcujúcejší herný zážitok.

Našťastie implementácia zdravotného systému v Pythone pomocou knižnice Arcade je jednoduchá a vyžaduje len niekoľko krokov.

Vytvorte jednoduchú hru

Najprv, nainštalujte pip do svojho zariadenia a pomocou nižšie uvedeného príkazu nainštalujte arkádovú knižnicu:

arkáda na inštaláciu pipu

Potom začnite vytvorením jednoduchej hry pomocou knižnice Arcade. Táto hra bude obsahovať postavu hráča, ktorá sa môže pohybovať doľava, doprava, hore a dole, a nepriateľský predmet, ktorý predstavuje pre hráča hrozbu.

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.

Vytvorte nový súbor s názvom jednoduchá hra.py a pridajte nižšie uvedený kód:

instagram viewer
importovať pasáž

# Nastavte rozmery okna
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600

# Nastavte rýchlosť pohybu hráča
PLAYER_MOVEMENT_SPEED = 5
biela = arkáda.farba. BIELY
modrá = arkáda.farba. MODRÁ
červená = arkáda.farba. ČERVENÁ

triedaGameWindow(arkáda. okno):
def__init__(ja, šírka, výška):
super().__init__(šírka, výška)
arcade.set_background_color (biela)

# Vytvorte hráčske a nepriateľské objekty
self.player = arkáda. SpriteCircle(30, Modrá)
seba.nepriateľ = arkáda. SpriteCircle(30, červená)
self.player.center_x = 100
self.player.center_y = 100
self.nemy.center_x = 400
self.nemy.center_y = 300

defon_draw(ja):
arcade.start_render()
self.player.draw()
self.nepriateľ.draw()

defaktualizovať(self, delta_time):
prejsť

defon_key_press(ja, kľúč, modifikátory):
ak kľúč == arcade.key. VĽAVO:
self.player.center_x -= PLAYER_MOVEMENT_SPEED
elif kľúč == arcade.key. SPRÁVNY:
self.player.center_x += PLAYER_MOVEMENT_SPEED
elif kľúč == arcade.key. HORE:
self.player.center_y += PLAYER_MOVEMENT_SPEED
elif kľúč == arcade.key. DOLE:
self.player.center_y -= PLAYER_MOVEMENT_SPEED

defHlavná():
hra = GameWindow (SCREEN_WIDTH, SCREEN_HEIGHT)
arcade.run()

ak __meno__ == "__Hlavná__":
Hlavná()

Mali by ste vidieť okno obsahujúce dva znaky reprezentované modrými a červenými kruhmi:

Na implementáciu zdravotného systému definujte premenné a konštanty súvisiace so zdravím. Budete ich používať na sledovanie aktuálneho zdravia hráča a určovanie pravidiel pre poškodenie a liečenie. Pridajte nasledujúci kód do GameWindow trieda:

triedaGameWindow(arkáda. okno):
def__init__(ja, šírka, výška):
# ...
# Premenné a konštanty súvisiace so zdravím
self.player_health = 100

# bodov zdravia uzdravených za sekundu
self.heal_rate = 1

# Časovač na liečenie
self.heal_timer = 0

defaktualizovať(self, delta_time):
# ...
# Aktualizujte časovač liečenia
self.heal_timer += delta_time

# Liečte zdravie hráča každé 2 sekundy
ak self.heal_timer >= 2:
self.player_health += self.heal_rate
self.heal_timer = 0

# Uistite sa, že zdravie nepresahuje maximálnu hodnotu
ak self.player_health > 100:
self.player_health = 100

Implementácia mechaniky poškodenia a hojenia

Na implementáciu mechaniky poškodenia a liečenia, odhaliť kolízie medzi hráčom a nepriateľom. Znížte zdravie hráča, keď sa zrazí s nepriateľom, a uzdravte zdravie hráča každé 2 sekundy, keď sa nezráža. Upravte aktualizovať() metódu a pridajte nasledujúci kód:

triedaGameWindow(arkáda. okno):
def__init__(ja, šírka, výška):
# ...

defaktualizovať(self, delta_time):
# Zistite kolízie medzi hráčom a nepriateľom
ak arcade.check_for_collision (self.player, self.nepriateľ):
self.player_health -= 5

# ...

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

Ak chcete spravovať scenáre smrti hráča a konca hry, skontrolujte, či zdravie hráča nedosiahne nulu alebo nižšie. Ak zdravie klesne na nulu, považujte hráča za mŕtveho a ukončite hru. Upravte aktualizovať() metóda s nasledujúcim kódom:

triedaGameWindow(arkáda. okno):
def__init__(ja, šírka, výška):
# ...

defaktualizovať(self, delta_time):
# ...

# Skontrolujte, či je zdravie hráča nulové alebo nižšie
ak self.player_health <= 0:
# Ukončite hru
arcade.close_window()

# ...

Vizualizácia panela zdravia

Vizuálne znázornenie zdravia hráča môže výrazne zlepšiť herný zážitok. Vytvorte panel zdravia pomocou obdĺžnikov na zobrazenie aktuálnej úrovne zdravia. Vytvorte nový súbor s názvom health-bar.py a pridajte kód s nižšie uvedenými aktualizáciami:

triedaGameWindow(arkáda. okno):
def__init__(ja, šírka, výška):
# ...

defon_draw(ja):
arcade.start_render()
self.player.draw()
self.nepriateľ.draw()
šedá = arkáda.farba. SVETLO SIVÁ
zelená = arkáda.farba. ZELENÁ

# Nakreslite lištu zdravia
arcade.draw_rectangle_filled (SCREEN_WIDTH // 2, 20,
SCREEN_WIDTH, 20, šedá)

health_width = self.player_health / 100 * SCREEN_WIDTH

arcade.draw_rectangle_filled (health_width // 2, 20,
health_width, 20, zelená)

Nižšie je výstup:

Vrátane ďalších funkcií

Zdravotný systém môžete ďalej vylepšiť ďalšími funkciami, ako sú tie nižšie.

Numerické zobrazenie zdravia

Okrem lišty zdravia môžete na obrazovke zobraziť zostávajúce zdravie ako číselnú hodnotu. To poskytuje presný údaj o zdravotnom stave hráča. Pridajte nasledujúci kód do on_draw() metóda:

# Vnútri metódy on_draw().
čierna = arkáda.farebná. ČIERNA
text = f"Zdravie: {self.player_health}"
arcade.draw_text (text, 10, 10, čierna, 14)

Zdravie Power-Ups

Ak chcete zaviesť vylepšenia zdravia, môžete vytvoriť špeciálne objekty, ktoré posilnia zdravie hráča, keď sa s nimi zrazí. Tu je príklad, ako môžete implementovať túto funkciu:

# Vnútri metódy update().
ak arcade.check_for_collision (self.player, self.power_up):
self.player_health += 20

# Odstráňte zapnutie z hry
self.power_up.kill()

Rôzne typy nepriateľov

Ak chcete svojej hre pridať hĺbku, môžete predstaviť rôzne typy nepriateľov, ktorí hráčovi spôsobia rôzne úrovne poškodenia. To pridáva strategický prvok a umožňuje rozmanitejšie herné zážitky. Tu je implementácia tejto funkcie:

# Vnútri metódy update().
ak arcade.check_for_collision (self.player, self.nepriateľ):
ak vlastný.typ nepriateľa == "slabý":
self.player_health -= 5
elif vlastný.typ nepriateľa == "silný":
self.player_health -= 20

Začlenením týchto dodatočných funkcií do implementácie vášho zdravotného systému môžete pre svojich hráčov vytvoriť dynamickejšie a náročnejšie herné zážitky.

Najlepšie postupy pre systém zdravotníctva

Pri implementácii zdravotného systému vo vašej arkádovej hre je dôležité dodržiavať osvedčené postupy, aby ste sa uistili, že systém je robustný a efektívny. Tu je niekoľko osvedčených postupov, ktoré treba mať na pamäti:

Make It Modular

Ponechajte funkčnosť zdravotného systému v samostatnej triede alebo module, aby zostal modulárny a ľahko znovu použiteľný v rôznych herných projektoch. To podporuje organizáciu kódu a oddelenie záujmov.

Overenie vstupu a zabezpečenie

Implementujte overenie vstupu, aby ste zabránili tomu, aby váš kód priradil neplatné hodnoty zdravia. Rovnaké záruky by mali chrániť pred neplatnými zdravotnými hodnotami, keď dôjde k poškodeniu alebo uzdraveniu.

Mechanizmus uloženia a načítania

Implementujte mechanizmus ukladania a načítania, ktorý zahŕňa zdravotný stav hráča. To umožňuje hráčom pokračovať v hre s neporušeným postupom, vrátane zdravia, aj po ukončení hry.

Testovanie a odstraňovanie chýb

Dôkladne otestujte implementáciu zdravotného systému, aby ste overili jeho správnosť a spoľahlivosť. Použite vhodné techniky spracovania chýb na efektívne spracovanie výnimiek a okrajových prípadov.

Konzistentná zdravotná spätná väzba

Poskytnite hráčovi konzistentnú a jasnú spätnú väzbu o jeho zdravotnom stave. Môžete pridať zvukové efekty, vizuálne podnety alebo dokonca haptická spätná väzba, ktorá zaisťuje, že hráči poznajú svoj zdravotný stav v hre a môžu robiť informované rozhodnutia počas hry.

Dodržiavaním týchto osvedčených postupov môžete vytvoriť robustný a efektívny zdravotný systém, ktorý zlepší herný zážitok z vašej arkádovej hry a zároveň zachová kvalitu a čitateľnosť kódu.

Urobte hry zábavnejšie so systémom zdravia

Pridanie zdravotného systému do vašej hry môže výrazne zlepšiť celkový zážitok z hráča. Predstavuje prvok rizika a výzvy, vďaka čomu je hra pútavejšia a odmeňujúca.

Vizuálne znázornenie zdravia umožňuje hráčom jednoducho posúdiť ich aktuálny stav, čím sa zvyšuje ponorenie a strategické rozhodovanie.