Vai vēlaties pilnveidot savas spēles rīcību ar briesmām? Pārvērtiet dzīvi par veselību un pievienojiet savai spēlei papildu dimensiju.

Veselības sistēmas pievienošana arkādes spēlei var uzlabot spēlētāja pieredzi un pievienot papildu izaicinājumu un iesaistīšanās līmeni. Varat izveidot aizraujošāku spēles pieredzi, parādot spēlētāja veselību un bojājumus un dziedināšanu.

Par laimi veselības sistēmas ieviešana Python, izmantojot Arcade bibliotēku, ir vienkārša un prasa tikai dažas darbības.

Izveidojiet vienkāršu spēli

Pirmkārt, instalējiet pip savā ierīcē un izmantojiet tālāk norādīto komandu, lai instalētu arkādes bibliotēku:

pip instalēšanas arkāde

Pēc tam sāciet, izveidojot vienkāršu spēli, izmantojot Arcade bibliotēku. Šajā spēlē būs spēlētāja varonis, kas var pārvietoties pa kreisi, pa labi, uz augšu un uz leju, un ienaidnieka objekts, kas apdraud spēlētāju.

Šajā rakstā izmantotais kods ir pieejams šajā GitHub repozitorijs un to varat izmantot bez maksas saskaņā ar MIT licenci.

Izveidojiet jaunu failu ar nosaukumu simple-game.py un pievienojiet zemāk esošo kodu:

imports arkāde

# Iestatiet loga izmērus
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600

# Iestatiet spēlētāja kustības ātrumu
PLAYER_MOVEMENT_SPEED = 5
balts = arkāde.krāsa. BALTS
zils = arkāde.krāsa. ZILS
sarkans = arcade.color. SARKANS

klasēGameWindow(pasāža. logs):
def__tajā__(pats, platums, augstums):
super().__init__(platums, augstums)
arcade.set_background_color (balts)

# Izveidojiet spēlētāju un ienaidnieka objektus
self.player = arkāde. SpriteCircle(30, zils)
sevis.ienaidnieks = arkāde. SpriteCircle(30, sarkans)
self.player.center_x = 100
self.player.center_y = 100
self.enemy.center_x = 400
self.ienaidnieks.centrs_y = 300

defon_draw(pats):
arcade.start_render()
self.player.draw()
self.enemy.draw()

defAtjaunināt(self, delta_time):
caurlaide

defon_key_press(pašs, atslēga, modifikatori):
ja taustiņš == arcade.key. PA kreisi:
self.player.center_x -= SPĒLĒTĀJA_KUSTĪBAS_ĀTRUMS
elifs taustiņš == arcade.key. PA LABI:
self.player.center_x += PLAYER_MOVEMENT_SPEED
elifs taustiņš == arcade.key. UP:
self.player.center_y += PLAYER_MOVEMENT_SPEED
elifs taustiņš == arcade.key. UZ LEJU:
self.player.center_y -= PLAYER_MOVEMENT_SPEED

defgalvenais():
spēle = GameWindow (SCREEN_WIDTH, SCREEN_HEIGHT)
arcade.run()

ja __nosaukums__ == "__galvenais__":
galvenais ()

Jums vajadzētu redzēt logu, kurā ir divas rakstzīmes, kuras attēlo zili un sarkani apļi:

Lai ieviestu veselības sistēmu, definējiet ar veselību saistītos mainīgos un konstantes. Jūs tos izmantosit, lai sekotu līdzi spēlētāja pašreizējai veselībai un noteiktu bojājumu un dziedināšanas noteikumus. Iekšpusē pievienojiet šādu kodu GameWindow klase:

klasēGameWindow(pasāža. logs):
def__tajā__(pats, platums, augstums):
# ...
# Ar veselību saistīti mainīgie un konstantes
self.player_health = 100

# Veselības punkti sadziedēti sekundē
self.heal_rate = 1

# Taimeris dziedināšanai
self.heal_timer = 0

defAtjaunināt(self, delta_time):
# ...
# Atjauniniet dziedināšanas taimeri
self.heal_timer += delta_time

# Izārstējiet spēlētāja veselību ik pēc 2 sekundēm
ja self.heal_timer >= 2:
self.player_health += self.heal_rate
self.heal_timer = 0

# Pārliecinieties, ka veselība nepārsniedz maksimālo vērtību
ja self.player_health > 100:
self.player_health = 100

Bojājumu un dziedināšanas mehānikas ieviešana

Lai ieviestu bojājumu un dziedināšanas mehāniku, atklāt sadursmes starp spēlētāju un ienaidnieku. Samaziniet spēlētāja veselību, kad viņš saduras ar ienaidnieku, un dziediniet spēlētāja veselību ik pēc 2 sekundēm, kad viņi nesaduras. Modificēt Atjaunināt() metodi un pievienojiet šādu kodu:

klasēGameWindow(pasāža. logs):
def__tajā__(pats, platums, augstums):
# ...

defAtjaunināt(self, delta_time):
# Atklājiet sadursmes starp spēlētāju un ienaidnieku
ja arcade.check_for_collision (self.player, self.enemy):
self.player_health -= 5

# ...

Spēlētāja nāves un spēles pārņemšanas scenāriju pārvaldība

Lai pārvaldītu spēlētāja nāves un spēles pārtraukšanas scenārijus, pārbaudiet, vai spēlētāja veselības stāvoklis sasniedz nulli vai zemāku. Ja veselība nokrītas līdz nullei, uzskatiet, ka spēlētājs ir miris un beidziet spēli. Modificēt Atjaunināt() metode ar šādu kodu:

klasēGameWindow(pasāža. logs):
def__tajā__(pats, platums, augstums):
# ...

defAtjaunināt(self, delta_time):
# ...

# Pārbaudiet, vai spēlētāja veselība ir nulle vai zemāka
ja self.player_health <= 0:
# Beidziet spēli
arcade.close_window()

# ...

Veselības joslas vizualizēšana

Spēlētāja veselības vizuāls attēlojums var ievērojami uzlabot spēles pieredzi. Izveidojiet veselības joslu, izmantojot taisnstūrus, lai parādītu pašreizējo veselības līmeni. Izveidojiet jaunu failu ar nosaukumu veselība-bar.py un pievienojiet kodu ar tālāk norādītajiem atjauninājumiem:

klasēGameWindow(pasāža. logs):
def__tajā__(pats, platums, augstums):
# ...

defon_draw(pats):
arcade.start_render()
self.player.draw()
self.enemy.draw()
pelēks = arcade.color. GAIŠI PELĒKS
zaļš = arkāde.krāsa. ZAĻĀ

# Uzzīmējiet veselības joslu
arcade.draw_rectangle_filled (SCREEN_WIDTH // 2, 20,
SCREEN_WIDTH, 20, pelēks)

health_width = self.player_health / 100 * SCREEN_WIDTH

arcade.draw_rectangle_filled (health_width // 2, 20,
Health_width, 20, zaļš)

Zemāk ir izvade:

Ieskaitot papildu funkcijas

Varat vēl vairāk uzlabot veselības sistēmu, izmantojot citas funkcijas, piemēram, tālāk norādītās.

Ciparu veselības displejs

Papildus veselības joslai ekrānā varat parādīt atlikušo stāvokli kā skaitlisku vērtību. Tas sniedz precīzu norādi par spēlētāja veselības stāvokli. Iekšpusē pievienojiet šādu kodu on_draw() metode:

# Metodes on_draw() iekšpusē
melns = arkāde.krāsa. MELNS
teksts = f"Veselība: {self.player_health}"
arcade.draw_text (teksts, 10, 10, melns, 14)

Veselības uzlabošana

Lai ieviestu veselības jaudas, varat izveidot īpašus objektus, kas uzlabo spēlētāja veselību, kad tie saduras ar tiem. Tālāk ir sniegts šīs funkcijas ieviešanas piemērs.

# Atjaunināšanas () metodes iekšpusē
ja arcade.check_for_collision (self.player, self.power_up):
self.player_health += 20

# Noņemiet no spēles jaudas
self.power_up.kill()

Dažādi ienaidnieku veidi

Lai pievienotu spēlei dziļumu, varat ieviest dažādus ienaidnieku veidus, kas spēlētājam nodara dažāda līmeņa bojājumus. Tas pievieno stratēģisku elementu un ļauj iegūt daudzveidīgāku spēles pieredzi. Lūk, šīs funkcijas ieviešana:

# Atjaunināšanas () metodes iekšpusē
ja arcade.check_for_collision (self.player, self.enemy):
ja self.ienaidnieks.tips == "vājš":
self.player_health -= 5
elifs self.ienaidnieks.tips == "spēcīgs":
self.player_health -= 20

Iekļaujot šīs papildu funkcijas savā veselības sistēmas ieviešanā, varat saviem spēlētājiem radīt dinamiskāku un izaicinošāku spēles pieredzi.

Veselības sistēmas labākā prakse

Ieviešot veselības sistēmu savā arkādes spēlē, ir svarīgi ievērot labāko praksi, lai nodrošinātu sistēmas stabilitāti un efektivitāti. Šeit ir dažas no paraugprakses, kas jāpatur prātā.

Padariet to modulāru

Saglabājiet veselības sistēmas funkcionalitāti atsevišķā klasē vai modulī, lai tā būtu modulāra un viegli atkārtoti lietojama dažādos spēļu projektos. Tas veicina koda organizēšanu un problēmu nošķiršanu.

Ievades apstiprināšana un drošības pasākumi

Ieviesiet ievades validāciju, lai jūsu kods nepiešķirtu nederīgas veselības vērtības. Tādiem pašiem drošības pasākumiem ir jāaizsargā pret nederīgām veselības vērtībām, kad notiek bojājumi vai dziedināšana.

Saglabāšanas un ielādes mehānisms

Ieviesiet saglabāšanas un ielādes mehānismu, kas ietver spēlētāja veselības stāvokli. Tas ļauj spēlētājiem atsākt spēli ar neskartu progresu, tostarp veselību, pat pēc spēles aiziešanas.

Testēšana un kļūdu apstrāde

Rūpīgi pārbaudiet veselības sistēmas ieviešanu, lai pārbaudītu tās pareizību un uzticamību. Izmantojiet atbilstošas ​​kļūdu apstrādes metodes, lai efektīvi apstrādātu izņēmumus un malas gadījumus.

Konsekventas veselības atsauksmes

Sniedziet spēlētājam konsekventu un skaidru atgriezenisko saiti par viņa veselības stāvokli. Varat pievienot audio efektus, vizuālas norādes vai pat jūtīgas atsauksmes, nodrošinot, ka spēlētāji zina savu veselības stāvokli spēlē un var pieņemt pārdomātus lēmumus spēles laikā.

Ievērojot šo labāko praksi, varat izveidot stabilu un efektīvu veselības sistēmu, kas uzlabo jūsu arkādes spēles spēles pieredzi, vienlaikus saglabājot koda kvalitāti un lasāmību.

Padariet spēles jautrākas, izmantojot veselības sistēmu

Veselības sistēmas pievienošana savai spēlei var ievērojami uzlabot kopējo spēlētāja pieredzi. Tas ievieš riska un izaicinājuma elementu, padarot spēli saistošāku un atalgojošāku.

Vizuāls veselības attēlojums ļauj spēlētājiem viegli novērtēt savu pašreizējo stāvokli, palielinot iedziļināšanos un stratēģisku lēmumu pieņemšanu.