Mitä järkeä on pelissä ilman pisteitä? Jotkut voivat pärjätä ilmankin, mutta useimpien luomiesi pelien on kerrottava pelaajalle, kuinka hyvin he pärjäävät.

Pisteet ovat olennainen osa monia pelejä, koska ne mittaavat pelaajien edistymistä ja saavutuksia.

Pythonissa Arcade-kirjasto tarjoaa yksinkertaisen ja tehokkaan tavan hallita pelien tuloksia. Hallitsemalla tuloksia tehokkaasti voit lisätä käyttäjien sitoutumista ja tarjota mukaansatempaavamman pelikokemuksen.

Luo yksinkertainen peli

Ennen kuin aloitat, varmista, että sinulla on pip asennettuna laitteellesi. Käytä tätä komentoa asentaaksesi arcade-kirjaston:

pip asennus arcade

Luo nyt yksinkertainen peli Pythonin Arcade-kirjastolla.

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

Tässä pelissä pelaaja voi liikkua vasemmalle ja oikealle nuolinäppäimillä samalla kun este on asetettu samalle y-akselille.

tuonti pelihalli

# Aseta ikkunan mitat
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600

instagram viewer

luokkaaMyGame(pelihalli. Ikkuna):
def__sen sisällä__(itse, leveys, korkeus):
super().__init__(leveys, korkeus)
self.player_x = leveys // 3
itse.pisteet = 0

defon_key_press(itse, avain, muokkaajat):
jos avain == arcade.key. VASEN:
self.player_x -= 10
elif avain == arcade.key. OIKEALLA:
self.player_x += 10

defpäivittää(itse, delta_aika):
# Päivitä pelilogiikka täällä
kulkea

defon_draw(itse):
arcade.start_render()
arcade.draw_circle_filled (self.player_x, 50, 20, arcade.color. SININEN)
arcade.draw_rectangle_filled(400, 50, 100, 50, arcade.color. PUNAINEN)

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

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

Pisteiden seuranta ja laskeminen

Voit seurata pelisi tulosta luomalla mekanismin, joka lisää pisteitä aina, kun tietty ehto täyttyy. Esimerkiksi pisteet kasvavat aina, kun pelaaja liikkuu pelissäsi ja onnistuneesti koskettaa estettä. Voit muuttaa päivittää menetelmä pisteiden laskentalogiikan sisällyttämiseksi:

luokkaaMyGame(pelihalli. Ikkuna):
def__sen sisällä__(itse, leveys, korkeus):
super().__init__(leveys, korkeus)
self.player_x = leveys // 3
itse.pisteet = 0

defon_key_press(itse, avain, muokkaajat):
jos avain == arcade.key. VASEN:
self.player_x -= 10
elif avain == arcade.key. OIKEALLA:
self.player_x += 10

defpäivittää(itse, delta_aika):
jos self.player_x > 330ja self.player_x < 470:
itse.pisteet += 1

Pisteiden näyttäminen

Näytä pisteet pelaajalle muokkaamalla on_draw tapa sisällyttää tekstin renderöinti:

luokkaaMyGame(pelihalli. Ikkuna):
# ...

defon_draw(itse):
arcade.start_render()
arcade.draw_circle_filled (self.player_x, 50, 20, arcade.color. SININEN)
arcade.draw_rectangle_filled(400, 300, 100, 50, arcade.color. PUNAINEN)

score_text = f"Pistemäärä: {itse.pisteet}"
arcade.draw_text (pisteet_teksti, 10, 10, arcade.color. VALKOINEN, 14)

Lisäämällä yllä olevan koodin voit näyttää tuloksen peliikkunan vasemmassa alakulmassa.

Ennätyksen tallentaminen

Saavutuksen ja kilpailun tunteen tarjoamiseksi pelaajille on tärkeää tallentaa ja näyttää huippupisteet. Voit käyttää tähän yksinkertaista tiedostopohjaista lähestymistapaa.

Käytä load_high_score tapa lukea huippupisteet tiedostosta nimeltä high_score.txt ja palauta se. Tämän jälkeen voit tallentaa uuden ennätyksen tiedostoon käyttämällä save_high_score menetelmä.

luokkaaMyGame(pelihalli. Ikkuna):
def__sen sisällä__(itse, leveys, korkeus):
super().__init__(leveys, korkeus)
self.player_x = leveys // 3
itse.pisteet = 0
self.high_score = self.load_high_score()

defload_high_score(itse):
yrittää:
kanssa avata("korkeat_pisteet.txt", "r") kuten tiedosto:
palata int (file.read())
paitsi FileNotFoundError:
palata0

defsave_high_score(itse):
kanssa avata("korkeat_pisteet.txt", "w") kuten tiedosto:
file.write (str (self.high_score))

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

jos self.score > self.high_score:
self.high_score = self.score
self.save_high_score()

Näytetään korkeat pisteet

Samalla tavalla kuin nykyisen tuloksen näyttäminen, voit lisätä tekstin renderöinnin näyttääksesi huippupisteet:

luokkaaMyGame(pelihalli. Ikkuna):
# ...

defon_draw(itse):
# ...

high_score_text = f"Hienot pisteet: {self.high_score}"
arcade.draw_text (high_score_text, 10, 30, arcade.color. VALKOINEN, 14)

Sisällyttämällä yllä olevan koodin on_draw -menetelmällä voit näyttää huippupisteet juuri nykyisen tuloksen yläpuolella.

Sisältää lisäominaisuuksia

Pelien tulosten hallintaan kuuluu usein lisäominaisuuksien sisällyttäminen pelin tekemiseen kiinnostavammaksi ja dynaamisemmaksi. Katsotaanpa joitain esimerkkejä siitä, kuinka voit ottaa peliisi lisäominaisuuksia tuloshallinnan rinnalle.

Tehostukset

Tehostukset ovat erikoisesineitä, jotka antavat pelaajille tilapäisiä etuja tai bonuspisteitä. Luo an activate_power_up menetelmä, joka laukaisee käynnistyksen aktivoinnin, asettamalla power_up_active lippu Totta.

Voit ajoittaa deactivate_power_up tapa suorittaa tietyn ajan (esim. 10 sekunnin) jälkeen käyttämällä arcade.schedule toiminto. Käynnistyksen aktiivisena aikana voit käyttää apply_power_up_effects tapa toteuttaa tiettyjä pelin parannuksia.

Tässä on esimerkki käynnistysominaisuuden käyttöönotosta pelissäsi.

luokkaaMyGame(pelihalli. Ikkuna):
def__sen sisällä__(itse, leveys, korkeus):
super().__init__(leveys, korkeus)
self.player_x = leveys // 3
itse.pisteet = 0
self.power_up_active = Väärä

defpäivittää(itse, delta_aika):
jos self.power_up_active:
# Käytä tehosteita pelin aikana
self.apply_power_up_effects()
itse.pisteet += 10

defapply_power_up_effects(itse):
# Lisää käynnistyslogiikka tähän
kulkea

defactivate_power_up(itse):
self.power_up_active = Totta
# Aseta käynnistystehosteen ajastin tai kesto
arcade.schedule (self.deactivate_power_up, 10.0)

defdeactivate_power_up(itse, delta_aika):
self.power_up_active = Väärä

Yhdistelmäjärjestelmä

Yhdistelmäjärjestelmä palkitsee pelaajat peräkkäisistä onnistuneista toimista tai tuloskertoimista. Luo an nosta_kombo_laskuri menetelmä, joka lisää yhdistelmälaskuria ja lisää pisteitä nykyisen yhdistelmätason perusteella.

Voit soittaa reset_combo_counter menetelmää ja nollaa yhdistelmälaskuri aina, kun jokin epäonnistuu. Tässä on yksinkertainen yhdistelmäjärjestelmän toteutus:

luokkaaMyGame(pelihalli. Ikkuna):
def__sen sisällä__(itse, leveys, korkeus):
super().__init__(leveys, korkeus)
self.player_x = leveys // 3
itse.pisteet = 0
self.combo_counter = 0

defpäivittää(itse, delta_aika):
# Tarkista onnistuneet toimet
jos self.check_successful_action():
self.increase_combo_counter()
muu:
self.reset_combo_counter()

defnosta_kombo_laskuri(itse):
self.combo_counter += 1
self.score += self.combo_counter

defreset_combo_counter(itse):
self.combo_counter = 0

Sisällyttämällä lisäominaisuuksia, kuten tehostuksia ja yhdistelmäjärjestelmiä, voit lisätä peliisi syvyyttä ja jännitystä, tarjota pelaajille ylimääräisiä kannustimia parantaa suorituskykyään, strategista toimintaansa ja saavuttaa parempia tulokset.

Parhaat käytännöt tulostenhallintaan

Mitä tulee pelien tulosten hallintaan, parhaiden käytäntöjen noudattaminen voi auttaa luomaan pelaajille miellyttävämmän ja kiinnostavamman kokemuksen. Tässä on joitain keskeisiä käytäntöjä, jotka on otettava huomioon:

Merkittävät pisteytysmekanismit

Suunnittele pisteytysmekanismeja, jotka vastaavat pelin tavoitteita ja antavat pelaajille mielekästä palautetta. Pisteytysjärjestelmän tulee heijastaa pelaajan edistymistä, taitoa ja saavutuksia pelissä.

Harkitse eri pistearvojen antamista eri toimille tai tapahtumille niiden vaikeuden tai pelin kannalta merkityksellisen merkityksen perusteella.

Visuaalinen palaute

Anna pelaajille visuaalista palautetta, kun tulos muuttuu. Voit saavuttaa tämän näytön ilmoituksilla, animaatioilla tai hiukkastehosteilla. Visuaaliset vihjeet luovat onnistumisen tunteen ja vahvistavat pelaajan toimintaa, mikä lisää hänen sitoutumistaan ​​peliin.

Ääniefektit ja animaatiot

Sisällytä äänitehosteet pelissäsi liittyvät tulospäivityksiin tehdäkseen kokemuksesta mukaansatempaavamman. Soita esimerkiksi juhlava äänitehoste tai näytä konfettipurske, kun soitin saavuttaa merkittävän virstanpylvään. Nämä audiovisuaaliset elementit lisäävät jännitystä ja vahvistavat pelaajien positiivista palautesilmukkaa.

Tasapainotusvaikeudet ja pisteiden skaalaus

Varmista tasapainoinen suhde vaikeusasteen ja pistemäärän skaalauksen välillä. Kun pelaajat edistyvät pelissä tai kohtaavat haastavampia esteitä, säädä pisteytysjärjestelmää vastaavasti. Pisteiden skaalaaminen pelin vaikeuskäyrän perusteella auttaa ylläpitämään pelaajille oikeudenmukaisen ja palkitsevan kokemuksen.

Noudattamalla näitä parhaita käytäntöjä voit hallita tehokkaasti pelisi tuloksia, antaa pelaajille mielekästä palautetta ja luoda palkitsevan ja mukaansatempaavan kokemuksen.

Paranna pelin sitoutumista tulosseurannan avulla

Ottamalla tulosseurannan käyttöön pelissäsi voit parantaa merkittävästi pelaajien sitoutumista. Pisteet antavat onnistumisen tunteen, rohkaisevat uudelleenpelattavuutta ja edistävät pelaajien välistä kilpailua.

Näytä tulokset näkyvästi ja palkitse korkeista saavutuksista – motivoit pelaajia pyrkimään parempaan suorituskykyyn ja parantamaan taitojaan.