Predstavite elemente, kot so poškodbe igralcev, mehanike zdravljenja in drugo, tako da v svoje igre vključite zdravstveni sistem.

Implementacija zdravstvenega sistema v igri lahko močno izboljša izkušnjo igranja in doda dodatno plast izziva in strategije. PyGame ponuja robusten nabor orodij in funkcij za vključevanje zdravstvenega sistema, kar olajša ustvarjanje interaktivnih izkušenj.

Ustvari preprosto igro

Preden začnete, se prepričajte, da imate pip nameščen v vašem sistemu. S tem ukazom namestite pygame knjižnica:

pip namestite pygame

Po tem ustvarite datoteko z imenom simple-game.py in začnite z ustvarjanjem preproste igre, kjer se lahko igralec premika levo in desno.

Koda, uporabljena v tem članku, je na voljo tukaj Repozitorij GitHub in je brezplačen za uporabo pod licenco MIT.

V tej osnovni igralni zanki bo igralčev cilj preprečiti trčenje s sovražnikom.

uvoz pygame
uvoz naključen

# Inicializirajte PyGame
pygame.init()

# Nastavite okno igre
širina_okna, višina_okna = 800, 600
okno = pygame.display.set_mode((širina_okna, višina_okna))

instagram viewer

pygame.display.set_caption("Demo zdravstvenega sistema")

# Lastnosti igralca
širina_igralca, višina_igralca = 50, 50
igralec_x, igralec_y = širina_okna // 2, višina_okna - višina_igralca - 10
hitrost_igralca = 1

# Atributi sovražnika
širina_sovražnika, višina_sovražnika = 50, 50
sovražnik_x, sovražnik_y = naključno.randint(0, širina_okna - širina_sovražnika), 0
sovražnik_hitrost = 0.3

# Igralna zanka
tek = Prav
medtem teče:
za dogodek v pygame.event.get():
če event.type == pygame. PRENEHATI:
tek = False

# Premaknite predvajalnik levo ali desno
tipke = pygame.key.get_pressed()
če ključi [pygame. K_LEFT] in igralec_x > 0:
igralec_x -= hitrost_igralca
če ključi [pygame. K_DESNO] in igralec_x < širina_okna - širina_igralca:
igralec_x += hitrost_igralca

# Premakni sovražnika navzdol
sovražnik_y += sovražnikova hitrost

# Risanje predmetov igre
window.fill((0, 0, 0)) # Počistite zaslon
pygame.draw.rect (okno, (255, 0, 0),
(igralec_x, igralec_y,
širina_igralca, višina_igralca))
pygame.draw.rect (okno, (0, 255, 0),
(sovražnik_x, sovražnik_y,
sovražna_širina, sovražna_višina)) # Nariši sovražnika
pygame.display.update()

pygame.quit()

Zaženite kodo in videli boste okno z likom igralca, ki ga lahko upravljate z levo in desno puščično tipko.

Zdaj, ko imate osnovno nastavitev igre, definirajte spremenljivke in konstante, povezane z igralčevim zdravjem. Uporabite lahko preprost zdravstveni sistem, kjer lahko predstavite igralčevo zdravje s številčno vrednostjo. Določite lahko tudi konstante za največje igralčevo zdravje in količino škode, ki jo povzroči sovražnik.

Nastavite začetno zdravje igralca na 100, določite največje zdravje na 100 in nastavite sovražnikovo škodo na 20. Te vrednosti je mogoče prilagoditi glede na posebne potrebe vaše igre.

# Zdravje igralca
zdravje_igralca = 100
največje_zdravje = 100
sovražnik_škoda = 20

Izvajanje mehanike poškodb in zdravljenja

Če želite uvesti mehaniko škode in zdravljenja, morate zaznati trke med igralcem in sovražnikom ter obravnavati ustrezne zdravstvene spremembe. Prav tako lahko implementirate mehanizem za ozdravitev igralca, ko se premakne z zaslona.

Preverite, ali obstaja trk med igralcem in sovražnika s primerjavo njunih mejnih pravokotnikov. Če je zaznano trčenje, odštejte sovražnikovo vrednost škode od igralčevega zdravja.

Poleg tega, če se igralec premakne z vrha zaslona (igralec_y < 0), dodajte 10 njihovemu zdravju in zagotovite, da ne preseže največjega zdravja. To ustvari mehaniko zdravljenja in ponastavi položaj igralca na dno zaslona.

Ustvari novo datoteko z imenom škoda-in-zdravljenje.py in dodajte kodo s spodnjimi posodobitvami:

# Znotraj igralne zanke, po posodobitvi sovražnikovega položaja
# Zaznaj trk med igralcem in sovražnikom
če igralec_x < sovražnik_x + širina_sovražnika in \
igralec_x + širina_igralca > sovražnik_x in \
igralec_y < sovražnik_y + sovražnik_višina \
in igralec_y + višina_igralca > sovražnik_y:
zdravje_igralca -= škoda_sovražnika
natisni (player_health)

# Ozdravite igralca, ko se premakne z zaslona
če igralec_y < 0:
zdravje_igralca += 10
natisni (player_health)
če zdravje_igralca > največje_zdravje:
zdravje_igralca = največje_zdravje
igralec_y = višina_okna - višina_igralca - 10

Spodaj je rezultat:

Upravljanje scenarijev smrti igralca in konca igre

Če želite obravnavati scenarije igralčeve smrti in konca igre, morate preveriti, ali je igralčevo zdravje doseglo ničlo. Če se, prikažite a Konec igre sporočilo in znova zaženite igro.

Dodajte preverjanje, da vidite, ali je igralčevo zdravje pod ali enako nič. Če je ta pogoj resničen, natisnite Konec igre in ponastavite igralčevo zdravje in položaj.

Ustvari novo datoteko z imenom management-player-death.py in spremenite kodo s spodnjimi posodobitvami:

# Po posodobitvi položaja igralca

# Preverite, ali zdravje igralca doseže nič
če zdravje_igralca <= 0:
natisni("Konec igre")
zdravje_igralca = največje_zdravje
igralec_x = širina_okna // 2
igralec_y = višina_okna - višina_igralca - 10

Vključno z dodatnimi funkcijami

Če želite dodatno izboljšati zdravstveni sistem, lahko vključite dodatne funkcije. Spodaj je primer:

Okrepitve

Določite atribute vklopa, kot so njegove dimenzije in položaj. Nastavite tudi vrednost zdravja, ki jo bo igralec pridobil ob trčenju z močjo.

Znotraj igralne zanke zaznaj trke med igralcem in vklopom. Če pride do trka, povečajte igralčevo zdravje za vrednost zdravja ob vklopu in pazite, da ne preseže največjega zdravja. Nato naključno prestavite vklop na zaslonu. Na koncu z modrim pravokotnikom narišite objekt za vklop na zaslonu.

Ustvari novo datoteko z imenom power-up.py in dodajte kodo s spodnjimi posodobitvami:

# Določite atribute vklopa
power_up_width, power_up_height = 30, 30
power_up_x, power_up_y = 200,200
power_up_health_value = 50

# Znotraj igralne zanke, po posodobitvi igralčevega položaja
# Zaznaj trčenje med igralcem in vklopom
če player_x < power_up_x + power_up_width in\
player_x + player_width > power_up_x \
in player_y < power_up_y + power_up_height\
in player_y + player_height > power_up_y:
player_health += power_up_health_value
če zdravje_igralca > največje_zdravje:
zdravje_igralca = največje_zdravje
power_up_x, power_up_y = 200,200

# Nariši objekt za vklop
pygame.draw.rect (okno, (0, 0, 255),
(power_up_x, power_up_y,
power_up_width,
power_up_height))

Spodaj je rezultat:

Za vsako dodatno funkcijo lahko definirate potrebne spremenljivke in konstante ter implementirate ustrezne mehanike znotraj igralne zanke.

Najboljše prakse za zdravstveni sistem

Ko izvajate zdravstveni sistem v PyGame, upoštevajte naslednje najboljše prakse:

Izvajajte sisteme, ki jih vodijo dogodki

Namesto nenehnega preverjanja kolizij ali sprememb zdravja znotraj igralne zanke, razmislite o uporabi sistemov, ki jih vodijo dogodki. PyGame ponuja zmožnosti za obravnavo dogodkov, kar vam omogoča, da sprožite dejanja, povezana z zdravjem, na podlagi določenih dogodkov, kot so dogodki trka ali dogodki prevzema moči.

Uravnotežite zdravstvene vrednote

Prilagodite vrednosti zdravja, vrednosti škode in stopnje zdravljenja v svoji igri, da zagotovite uravnoteženo izkušnjo igranja. Preizkušanje igranja in zbiranje povratnih informacij od igralcev vam lahko pomaga natančno prilagoditi te vrednosti za optimalno igranje.

Posredujte povratne informacije

Zagotovite, da igralec prejme jasne in smiselne povratne informacije o svojem zdravstvenem stanju. Prikažite vrstico zdravja na vidnem mestu na zaslonu, uporabite vizualne namige, kot so spremembe barv ali animacije, da nakažete poškodbe ali celjenje, in zagotoviti zvočne ali vizualne znake ko zdravje igralca doseže kritično raven.

Če upoštevate te najboljše prakse, lahko ustvarite robusten in privlačen zdravstveni sistem, ki prispeva k poglobljeni izkušnji igranja.

Naj bodo igre privlačnejše z Health Bar

Implementacija zdravstvenega sistema ne samo da doda plast izziva, temveč naredi igre tudi bolj privlačne za igralce. Z vključitvijo vizualnih predstavitev zdravja, kot so vrstice zdravja, lahko igralci preprosto ocenijo svoje trenutno stanje in sprejemajo strateške odločitve. Poleg tega lahko dodajanje stopenj vaši igri še izboljša izkušnjo igranja.