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:
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 = 300defon_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_SPEEDdefHlavná():
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 = 0defaktualizovať(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.