Esittele elementtejä, kuten pelaajavaurioita, parantava mekaniikka ja paljon muuta sisällyttämällä peliisi terveysjärjestelmän.
Terveysjärjestelmän käyttöönotto pelissä voi parantaa huomattavasti pelikokemusta ja lisätä haasteita ja strategiaa. PyGame tarjoaa vankan joukon työkaluja ja toimintoja terveysjärjestelmän sisällyttämiseen, mikä tekee interaktiivisten kokemusten luomisesta helppoa.
Luo yksinkertainen peli
Ennen kuin aloitat, varmista, että sinulla on pip asennettuna järjestelmääsi. Käytä tätä komentoa asentaaksesi pygame kirjasto:
pip asennus pygame
Luo sen jälkeen tiedosto nimeltä simple-game.py ja aloita luomalla yksinkertainen peli, jossa pelaaja voi liikkua vasemmalle ja oikealle.
Tässä artikkelissa käytetty koodi on saatavilla tässä GitHub-arkisto ja sen käyttö on ilmaista MIT-lisenssin alaisena.
Tässä peruspelisilmukassa pelaajan tavoitteena on välttää törmäystä vihollisen kanssa.
tuonti pygame
tuonti satunnainen# Alusta PyGame
pygame.init()# Aseta peli-ikkuna
800, 600
ikkunan_leveys, ikkunan_korkeus =
ikkuna = pygame.display.set_mode((ikkunan_leveys, ikkunan_korkeus))
pygame.display.set_caption("Terveysjärjestelmän esittely")# Pelaajan ominaisuudet
player_width, player_height = 50, 50
pelaaja_x, pelaaja_y = ikkunan_leveys // 2, window_height - player_height - 10
player_speed = 1# Vihollisen ominaisuudet
vihollisen_leveys, vihollisen_korkeus = 50, 50
vihollinen_x, vihollinen_y = random.randint(0, window_width - enem_width), 0
vihollisen_nopeus = 0.3# Pelisilmukka
juoksu = Totta
sillä aikaa käynnissä:
varten tapahtuma sisään pygame.event.get():
jos event.type == pygame. LOPETTAA:
juoksu = Väärä# Siirrä soitinta vasemmalle tai oikealle
avaimet = pygame.key.get_pressed()
jos avaimet[pygame. K_LEFT] ja pelaaja_x > 0:
pelaaja_x - = pelaajan_nopeus
jos avaimet[pygame. K_OIKEA] ja player_x < window_width - player_width:
player_x += player_speed# Siirrä vihollinen alaspäin
vihollinen_y += vihollisen_nopeus# Piirrä peliesineitä
window.fill((0, 0, 0)) # Tyhjennä näyttö
pygame.draw.rect (ikkuna, (255, 0, 0),
(pelaaja_x, pelaaja_y,
Player_width, player_height))
pygame.draw.rect (ikkuna, (0, 255, 0),
(vihollinen_x, vihollinen_y,
vihollisen_leveys, vihollisen_korkeus)) # Piirrä vihollinen
pygame.display.update()
pygame.quit()
Suorita koodi, niin näet ikkunan, jossa on pelaajahahmo, jota voit ohjata vasemmalla ja oikealla nuolinäppäimellä.
Nyt kun sinulla on peruspeliasetukset, määritä muuttujat ja vakiot, jotka liittyvät pelaajan terveyteen. Voit käyttää yksinkertaista terveysjärjestelmää, jossa voit esittää pelaajan terveydentilan numeerisella arvolla. Voit myös määrittää vakiot pelaajan maksimaaliselle terveydelle ja vihollisen aiheuttaman vahingon määrälle.
Aseta pelaajan alkuperäiseksi terveydeksi 100, määritä maksimiterveydeksi 100 ja aseta vihollisen vaurioksi 20. Näitä arvoja voidaan säätää pelisi erityistarpeiden mukaan.
# Pelaajan terveys
pelaajan_terveys = 100
max_health = 100
vihollinen_vaurio = 20
Vahinko- ja paranemismekaniikan käyttöönotto
Vahinkojen ja paranemismekaniikan käyttöönottamiseksi sinun on tunnistettava pelaajan ja vihollisen väliset törmäykset ja hoidettava vastaavat terveysmuutokset. Voit myös toteuttaa mekanismin, joka parantaa soittimen, kun he siirtyvät pois näytöltä.
Tarkista, onko a pelaajan välinen törmäys ja vihollinen vertaamalla niiden rajaavia suorakulmioita. Jos törmäys havaitaan, vähennä vihollisen vahinkoarvo pelaajan terveydestä.
Lisäksi, jos soitin siirtyy pois näytön yläreunasta (pelaaja_y < 0), lisää 10 heidän terveytensä ja varmista, että se ei ylitä enimmäisterveyttä. Tämä luo parantavan mekanikon ja palauttaa pelaajan sijainnin näytön alareunaan.
Luo uusi tiedosto nimeltä vahinko-ja-healing.py ja lisää koodi alla olevilla päivityksillä:
# Pelisilmukan sisällä vihollisen sijainnin päivityksen jälkeen
# Havaitse törmäys pelaajan ja vihollisen välillä
jos pelaaja_x < vihollinen_x + vihollisen_leveys ja \
pelaaja_x + pelaajan_leveys > vihollinen_x ja \
pelaaja_y < vihollinen_y + vihollisen_korkeus \
ja pelaaja_y + pelaajan_korkeus > vihollinen_y:
player_health - = vihollisen_vaurio
tulosta (player_health)
# Paranna soitin, kun he siirtyvät pois näytöltä
jos pelaaja_y < 0:
pelaajan_terveys += 10
tulosta (player_health)
jos player_health > max_health:
pelaajan_terveys = max_health
pelaaja_y = ikkunan_korkeus - pelaajan_korkeus - 10
Alla on tulos:
Pelaajien kuoleman ja Game Over -skenaarioiden hallinta
Jotta voit käsitellä pelaajan kuoleman ja pelin päättymisen skenaarioita, sinun on tarkistettava, saavuttaako pelaajan terveys nollan. Jos näin on, näytä a Peli ohi viesti ja käynnistä peli uudelleen.
Lisää tarkistus nähdäksesi, onko pelaajan terveys alle tai yhtä suuri kuin nolla. Jos tämä ehto on totta, tulosta Peli ohi ja nollaa pelaajan terveydentila ja asema.
Luo uusi tiedosto nimeltä manager-player-death.py ja muokkaa koodia alla olevilla päivityksillä:
# Pelaajan sijainnin päivityksen jälkeen
# Tarkista, onko pelaajan terveys nolla
jos pelaajan_terveys <= 0:
Tulosta("Peli ohi")
pelaajan_terveys = max_health
player_x = window_width // 2
pelaaja_y = ikkunan_korkeus - pelaajan_korkeus - 10
Sisältää lisäominaisuuksia
Voit parantaa terveydenhuoltojärjestelmää lisäämällä siihen lisäominaisuuksia. Alla on esimerkki:
Tehostukset
Määritä käynnistyksen ominaisuudet, kuten sen mitat ja sijainti. Aseta myös terveys-arvo, jonka pelaaja saa törmäessään tehonsyöttöön.
Tunnista pelisilmukan sisällä pelaajan ja käynnistyksen väliset törmäykset. Jos törmäys tapahtuu, nosta pelaajan terveyttä tehon lisäyksen terveysarvolla varmistaen, että se ei ylitä maksimiterveyttä. Aseta sitten käynnistys uudelleen satunnaisesti näytölle. Piirrä lopuksi käynnistysobjekti näytölle sinisellä suorakulmiolla.
Luo uusi tiedosto nimeltä power-up.py ja lisää koodi alla olevilla päivityksillä:
# Määritä käynnistyksen attribuutit
power_up_width, power_up_height = 30, 30
power_up_x, power_up_y = 200,200
power_up_health_value = 50# Pelisilmukan sisällä pelaajan sijainnin päivityksen jälkeen
# Havaitse törmäys soittimen ja käynnistyksen välillä
jos player_x < power_up_x + power_up_width ja\
player_x + player_width > power_up_x \
ja player_y < power_up_y + power_up_height\
ja player_y + player_height > power_up_y:
player_health += power_up_health_value
jos player_health > max_health:
pelaajan_terveys = max_health
power_up_x, power_up_y = 200,200
# Piirrä käynnistysobjekti
pygame.draw.rect (ikkuna, (0, 0, 255),
(power_up_x, power_up_y,
power_up_width,
tehon_korkeus))
Alla on tulos:
Jokaiselle lisäominaisuudelle voit määrittää tarvittavat muuttujat ja vakiot sekä toteuttaa vastaavat mekaniikat pelisilmukan sisällä.
Terveysjärjestelmän parhaat käytännöt
Kun otat terveysjärjestelmää käyttöön PyGamessa, pidä seuraavat parhaat käytännöt mielessä:
Ota käyttöön tapahtumapohjaisia järjestelmiä
Sen sijaan, että tarkistaisit jatkuvasti pelisilmukan törmäyksiä tai kuntomuutoksia, harkitse tapahtumapohjaisten järjestelmien käyttöä. PyGame tarjoaa tapahtumien käsittelyominaisuuksia, joiden avulla voit käynnistää terveyteen liittyviä toimintoja tiettyjen tapahtumien, kuten törmäystapahtumien tai käynnistystapahtumien, perusteella.
Tasapainota terveysarvoja
Säädä pelisi terveysarvoja, vahinkoarvoja ja paranemisasteita varmistaaksesi tasapainoisen pelikokemuksen. Pelitestaus ja pelaajien palautteen kerääminen voivat auttaa sinua hienosäätämään näitä arvoja optimaalista peliä varten.
Antaa palautetta
Varmista, että pelaaja saa selkeää ja merkityksellistä palautetta terveydentilastaan. Näytä terveyspalkki näkyvästi näytöllä, käytä visuaalisia vihjeitä, kuten värimuutoksia tai animaatioita, jotka osoittavat vaurioita tai paranemista, ja tarjota ääni- tai visuaalisia vihjeitä kun pelaajan terveys saavuttaa kriittisen tason.
Näitä parhaita käytäntöjä noudattamalla voit luoda vankan ja mukaansatempaavan terveysjärjestelmän, joka edistää mukaansatempaavaa pelikokemusta.
Tee peleistä kiinnostavampia Health Barin avulla
Terveysjärjestelmän käyttöönotto ei vain lisää haasteita, vaan myös tekee peleistä kiinnostavampia pelaajille. Sisällyttämällä visuaalisia esityksiä terveydestä, kuten terveyspalkkeja, pelaajat voivat helposti arvioida nykyisen tilansa ja tehdä strategisia päätöksiä. Lisäksi tasojen lisääminen peliisi voi parantaa pelikokemusta entisestään.