Haluatko hienosäätää pelisi vaarojen hallintaa? Muuta elämät terveydeksi ja lisää peliisi lisäulottuvuus.

Terveysjärjestelmän lisääminen arcade-peliisi voi parantaa pelaajakokemusta ja lisätä ylimääräistä haastetta ja sitoutumista. Voit luoda mukaansatempaavamman pelikokemuksen näyttämällä pelaajan terveydentilasta ja vaurioiden ja parantumisen mekaniikasta.

Onneksi terveysjärjestelmän käyttöönotto Pythonissa Arcade-kirjaston avulla on yksinkertaista ja vaatii vain muutaman askeleen.

Luo yksinkertainen peli

Ensimmäinen, asenna pip laitteellesi ja käytä alla olevaa komentoa arcade-kirjaston asentamiseen:

pip asennus arcade

Aloita sen jälkeen luomalla yksinkertainen peli Arcade-kirjaston avulla. Tässä pelissä on pelaajahahmo, joka voi liikkua vasemmalle, oikealle, ylös ja alas, sekä vihollisobjekti, joka uhkaa pelaajaa.

Tässä artikkelissa käytetty koodi on saatavilla tässä GitHub-arkisto ja sen käyttö on ilmaista MIT-lisenssin alaisena.

Luo uusi tiedosto nimeltä simple-game.py ja lisää alla oleva koodi:

tuonti pelihalli

# Aseta ikkunan mitat
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600

# Aseta pelaajan liikenopeus
PLAYER_MOVEMENT_SPEED = 5
valkoinen = arcade.color. VALKOINEN
sininen = arcade.color. SININEN
punainen = arcade.color. PUNAINEN

luokkaaGameWindow(pelihalli. Ikkuna):
def__sen sisällä__(itse, leveys, korkeus):
super().__init__(leveys, korkeus)
arcade.set_background_color (valkoinen)

# Luo pelaaja- ja vihollisobjekteja
self.player = pelihalli. SpriteCircle(30, sininen)
itse.vihollinen = pelihalli. SpriteCircle(30, punainen)
self.player.center_x = 100
self.player.center_y = 100
self.enem.center_x = 400
self.enem.center_y = 300

defon_draw(itse):
arcade.start_render()
self.player.draw()
self.vihollinen.draw()

defpäivittää(itse, delta_aika):
kulkea

defon_key_press(itse, avain, muokkaajat):
jos avain == arcade.key. VASEN:
self.player.center_x -= PELAajan_LIIKKEEN_NOPEUS
elif avain == arcade.key. OIKEALLA:
self.player.center_x += PLAYER_MOVEMENT_SPEED
elif avain == arcade.key. YLÖS:
self.player.center_y += PLAYER_MOVEMENT_SPEED
elif avain == arcade.key. ALAS:
self.player.center_y -= PELAajan_LIIKKEEN_NOPEUS

defpää():
peli = GameWindow (SCREEN_WIDTH, SCREEN_HEIGHT)
arcade.run()

jos __nimi__ == "__main__":
pää()

Sinun pitäisi nähdä ikkuna, jossa on kaksi merkkiä, joita edustavat siniset ja punaiset ympyrät:

Terveysjärjestelmän toteuttamiseksi määrittele terveyteen liittyvät muuttujat ja vakiot. Niiden avulla voit seurata pelaajan nykyistä terveyttä ja määrittää säännöt vaurioille ja paranemiselle. Lisää seuraava koodi sisään GameWindow luokka:

luokkaaGameWindow(pelihalli. Ikkuna):
def__sen sisällä__(itse, leveys, korkeus):
# ...
# Terveyteen liittyvät muuttujat ja vakiot
self.player_health = 100

# Terveyspisteitä parantunut sekunnissa
self.heal_rate = 1

# Ajastin paranemiseen
self.heal_timer = 0

defpäivittää(itse, delta_aika):
# ...
# Päivitä paranemisajastin
self.heal_timer += delta_time

# Paranna pelaajan terveyttä 2 sekunnin välein
jos self.heal_timer >= 2:
self.player_health += self.heal_rate
self.heal_timer = 0

# Varmista, että terveys ei ylitä enimmäisarvoa
jos self.player_health > 100:
self.player_health = 100

Vahinko- ja paranemismekaniikan käyttöönotto

Vahinkojen ja paranemismekaniikan toteuttamiseksi, havaita törmäykset pelaajan ja vihollisen välillä. Vähennä pelaajan terveyttä, kun hän törmää viholliseen ja paranna pelaajan terveyttä 2 sekunnin välein, kun he eivät törmää. Muokkaa päivittää() menetelmä ja lisää seuraava koodi:

luokkaaGameWindow(pelihalli. Ikkuna):
def__sen sisällä__(itse, leveys, korkeus):
# ...

defpäivittää(itse, delta_aika):
# Havaitse törmäykset pelaajan ja vihollisen välillä
jos arcade.check_for_collision (self.player, self.enemy):
self.player_health -= 5

# ...

Pelaajien kuoleman ja Game Over -skenaarioiden hallinta

Voit hallita pelaajan kuoleman ja pelin päättymisen skenaarioita tarkistamalla, saavuttaako pelaajan terveys nollan tai alle. Jos kunto putoaa nollaan, katso pelaaja kuolleeksi ja lopeta peli. Muokkaa päivittää() menetelmä seuraavalla koodilla:

luokkaaGameWindow(pelihalli. Ikkuna):
def__sen sisällä__(itse, leveys, korkeus):
# ...

defpäivittää(itse, delta_aika):
# ...

# Tarkista, onko pelaajan terveys nolla tai alle
jos self.player_health <= 0:
# Lopeta peli
arcade.close_window()

# ...

Terveyspalkin visualisointi

Visuaalinen esitys pelaajan terveydestä voi parantaa pelikokemusta huomattavasti. Luo kuntopalkki käyttämällä suorakulmioita näyttääksesi nykyisen terveystason. Luo uusi tiedosto nimeltä health-bar.py ja lisää koodi alla olevilla päivityksillä:

luokkaaGameWindow(pelihalli. Ikkuna):
def__sen sisällä__(itse, leveys, korkeus):
# ...

defon_draw(itse):
arcade.start_render()
self.player.draw()
self.vihollinen.draw()
harmaa = arcade.color. VAALEAN HARMAA
vihreä = arcade.color. VIHREÄ

# Piirrä terveyspalkki
arcade.draw_rectangle_filled (SCREEN_WIDTH // 2, 20,
SCREEN_WIDTH, 20, harmaa)

health_width = self.player_health / 100 * SCREEN_WIDTH

arcade.draw_rectangle_filled (health_width // 2, 20,
health_width, 20, vihreä)

Alla on tulos:

Sisältää lisäominaisuuksia

Voit parantaa terveydenhuoltojärjestelmää edelleen lisäominaisuuksilla, kuten alla.

Numeerinen terveysnäyttö

Terveyspalkin lisäksi voit näyttää jäljellä olevan kunnon numeerisena arvona näytöllä. Tämä antaa tarkan kuvan pelaajan terveydentilasta. Lisää seuraava koodi sisään on_draw() menetelmä:

# On_draw()-metodin sisällä
musta = arcade.color. MUSTA
teksti = f"Terveys: {self.player_health}"
arcade.draw_text (teksti, 10, 10, musta, 14)

Terveystehosteet

Terveystehosteita esittelemällä voit luoda erityisiä esineitä, jotka parantavat pelaajan terveyttä törmääessään niihin. Tässä on esimerkki siitä, kuinka voit ottaa tämän ominaisuuden käyttöön:

# Update()-menetelmän sisällä
jos arcade.check_for_collision (self.player, self.power_up):
self.player_health += 20

# Poista käynnistys pelistä
self.power_up.kill()

Erilaisia ​​vihollistyyppejä

Voit lisätä peliisi syvyyttä esittelemällä erilaisia ​​vihollisia, jotka aiheuttavat pelaajalle vaihtelevaa vahinkoa. Tämä lisää strategista elementtiä ja mahdollistaa monipuolisemman pelikokemuksen. Tässä on tämän ominaisuuden toteutus:

# Update()-menetelmän sisällä
jos arcade.check_for_collision (self.player, self.enemy):
jos itse.vihollinen.tyyppi == "heikko":
self.player_health -= 5
elif itse.vihollinen.tyyppi == "vahva":
self.player_health -= 20

Sisällyttämällä nämä lisäominaisuudet terveydenhuoltojärjestelmän toteutukseen, voit luoda pelaajillesi dynaamisempia ja haastavampia pelikokemuksia.

Terveysjärjestelmän parhaat käytännöt

Kun otat terveysjärjestelmää käyttöön arcade-pelissäsi, on tärkeää noudattaa parhaita käytäntöjä varmistaaksesi, että järjestelmä on vankka ja tehokas. Tässä on joitain parhaita käytäntöjä, jotka kannattaa pitää mielessä:

Tee siitä modulaarinen

Pidä terveysjärjestelmän toiminnallisuus erillisessä luokassa tai moduulissa, jotta se pysyy modulaarisena ja helposti uudelleenkäytettävinä eri peliprojekteissa. Tämä edistää koodin organisointia ja huolenaiheiden erottamista.

Syötteen vahvistus ja suojatoimenpiteet

Ota käyttöön syötteen validointi estääksesi koodia määrittämästä virheellisiä terveysarvoja. Samojen suojatoimien tulee suojata virheellisiltä terveysarvoilta, kun vaurioita tai paranemista tapahtuu.

Tallenna ja lataa -mekanismi

Ota käyttöön tallennus- ja latausmekanismi, joka sisältää pelaajan terveydentilan. Tämän ansiosta pelaajat voivat jatkaa peliä edistymisensä ehjänä, mukaan lukien terveytensä, jopa pelistä poistumisen jälkeen.

Testaus ja virheiden käsittely

Testaa terveysjärjestelmän toteutus perusteellisesti varmistaaksesi sen oikeellisuuden ja luotettavuuden. Käytä asianmukaisia ​​virheenkäsittelytekniikoita käsitelläksesi poikkeuksia ja reunatapauksia tehokkaasti.

Johdonmukainen terveyspalaute

Anna pelaajalle johdonmukaista ja selkeää palautetta hänen terveydentilastaan. Voit lisätä äänitehosteita, visuaalisia vihjeitä tai jopa haptista palautetta, mikä varmistaa, että pelaajat tietävät terveydentilansa pelissä ja voivat tehdä tietoisia päätöksiä pelin aikana.

Seuraamalla näitä parhaita käytäntöjä voit luoda vankan ja tehokkaan terveysjärjestelmän, joka parantaa arcade-pelisi pelikokemusta säilyttäen samalla koodin laadun ja luettavuuden.

Tee peleistä hauskempia Health Systemin avulla

Terveysjärjestelmän lisääminen peliisi voi parantaa huomattavasti yleistä pelaajakokemusta. Se tuo mukanaan riskin ja haasteen, mikä tekee pelaamisesta kiinnostavamman ja palkitsevamman.

Terveyden visuaalisen esityksen avulla pelaajat voivat helposti arvioida nykyistä tilaansa, mikä lisää syventymistä ja strategista päätöksentekoa.