Dajte svojim igralcem nekaj, kar lahko poberejo, ko napredujejo skozi vašo igro.

Okrepitve in zbirateljski predmeti so bistveni elementi igre, ki lahko izboljšajo izkušnjo igranja in arkadnim igram dodajo razburljivost. Igralcem nudijo dodatne sposobnosti, nagrade in izzive. Z arkadno knjižnico boste lahko v trenutku ustvarili privlačne igre z okrepitvami in zbirateljskimi predmeti.

Ustvari preprosto igro

Začnite z osnovno nastavitvijo, kjer igralec se lahko premika v štiri smeri (levo, desno, gor in dol) z uporabo vnosov s tipkovnice. Poleg tega uvedite en sovražni predmet, da zagotovite interakcijo v okolju igre.

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

Ustvari novo datoteko z imenom simple-game.py in dodajte spodnjo kodo:

uvoz arkada

modra = arkadna.barva. MODRA
rdeča = arkadna.barva. RDEČA
črna = arkadna.barva. ČRNA
bela = arkadna.barva. BELA
rumena = arkadna.barva. RUMENA
zelena = arkadna.barva. ZELENA
oranžna = arkadna.barva. ORANŽNA

instagram viewer

razredIgra(arkadne. okno):
def__v__(jaz, širina, višina):
super().__init__(širina, višina)
arcade.set_background_color (črna)

self.player = arkada. SpriteCircle(20, modra)
self.player.center_x = širina // 2
self.player.center_y = višina // 2

self.nemy = arkada. SpriteSolidColor(20, 20, rdeča)
self.enemy.center_x = širina // 4
self.enemy.center_y = višina // 4

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

defnadgradnja(sam, delta_time):
prehod

defna_pritisk_tipke(jaz, ključ, modifikatorji):
če ključ == arcade.key. LEVO:
self.player.center_x -= 10
elif ključ == arcade.key. PRAV:
self.player.center_x += 10
elif ključ == arcade.key. GOR:
self.player.center_y += 10
elif ključ == arcade.key. DOL:
self.player.center_y -= 10

defglavni():
igra = Igra(800, 600)
arcade.run()

če __ime__ == "__glavni__":
glavni ()

Zaženite to kodo in imeli boste osnovno igro s premikanjem igralca in sovražnim predmetom.

Ustvarjanje stanj igre

Če želite vključiti okrepitve in zbirateljske predmete, morate določiti stanja igre, kot sta rezultat in zdravje. Ti lahko upravljati rezultat in zdravje z uporabo ločene spremenljivke. Spremenite kodo, da bo vključevala te funkcije. Zdravje igralca se zmanjša, ko trči s sovražnim predmetom.

razredIgra(arkadne. okno):
def__v__(jaz, širina, višina):
super().__init__(širina, višina)

self.score = 0
samo.zdravje = 100

defon_draw(sebe):
arcade.draw_text(f"Ocena: {self.score}", 10, 10, bela)
arcade.draw_text(f"Zdravje: {self.health}", 10, 30, bela)

defnadgradnja(sam, delta_time):
če arcade.check_for_collision (self.player, self.enemy):
samo.zdravje -= 10

če samo.zdravje <= 0:
self.game_over()

defkonec igre(sebe):
# Tukaj dodajte logiko igre konec
prehod

Zdaj se igralčevo zdravje ob trčenju s sovražnikom zmanjša za 10, rezultat in vrednosti zdravja pa se prikažejo na zaslonu.

Dodajanje zbirateljskih predmetov

Nato ustvarite zbirateljske predmete, ki bodo zbrali igralčev rezultat za 10. Ti zbirateljski predmeti bodo imeli različne oblike za vizualno raznolikost. Ustvari novo datoteko z imenom zbirateljstvo.py in dodajte kodo s spodnjo posodobitvijo:

razredIgra(arkadne. okno):
def__v__(jaz, širina, višina):
super().__init__(širina, višina)

self.collectibles = arkada. SpriteList()

za _ v obseg (5):
zbirateljsko = arkada. SpriteSolidColor(20, 40, rumena)
collectible.center_x = random.randint(0, premer)
collectible.center_y = random.randint(0, višina)
self.collectibles.append (zbirateljski)

defon_draw(sebe):
arcade.start_render()
self.player.draw()
self.enemy.draw()
self.collectibles.draw()
arcade.draw_text(f"Ocena: {self.score}", 10, 10, bela)
arcade.draw_text(f"Zdravje: {self.health}", 10, 30, bela)

defnadgradnja(sam, delta_time):
za zbirateljsko v samo.zbirateljstvo:
če arcade.check_for_collision (sam.igralec, zbirateljsko):
self.score += 10
collectible.remove_from_sprite_lists()

Ustvarite seznam zbirateljskih predmetov s petimi primerki, od katerih je vsak predstavljen z rumenim pravokotnikom. Ko igralec trči z zbirateljskim predmetom, se njegov rezultat poveča za 10 in zbirateljski predmet se odstrani s seznama sprite.

Dodajanje ojačitev

Zdaj lahko svoji igri dodajate moči. Ko igralec zbere moč, se okoli njega za 10 sekund prikaže ščit. V tem času, če igralec trči s sovražnikom, bodo uničili sovražnika. Ustvari novo datoteko z imenom power-ups.py in dodajte kodo s spodnjo posodobitvijo:

razredIgra(arkadne. okno):
def__v__(jaz, širina, višina):
super().__init__(širina, višina)

self.power_up = arkada. SpriteSolidColor(50, 20, zelena)
self.power_up.center_x = random.randint(0, premer)
self.power_up.center_y = random.randint(0, višina)

self.shield_active = False
self.shield_duration = 10
self.shield_timer = 0

defon_draw(sebe):
arcade.start_render()
self.player.draw()
self.enemy.draw()
self.collectibles.draw()
self.power_up.draw()
arcade.draw_text(f"Ocena: {self.score}", 10, 10, bela)
arcade.draw_text(f"Zdravje: {self.health}", 10, 30, bela)

defnadgradnja(sam, delta_time):
če arcade.check_for_collision (self.player, self.enemy):
čene self.shield_active:
samo.zdravje -= 10
če samo.zdravje <= 0:
self.game_over()
drugače:
self.enemy.remove_from_sprite_lists()

če self.shield_active:
self.shield_timer += delta_time

če self.shield_timer >= self.shield_duration:
self.shield_active = False
self.shield_timer = 0

za zbirateljsko v samo.zbirateljstvo:
če arcade.check_for_collision (sam.igralec, zbirateljsko):
self.score += 10
collectible.remove_from_sprite_lists()

če arcade.check_for_collision (self.player, self.power_up):
self.shield_active = Prav
self.power_up.remove_from_sprite_lists()

Spodaj je rezultat:

Vključno z dodatnimi funkcijami

Sistem ojačitev in zbirateljskih predmetov lahko dodatno izboljšate z dodajanjem dodatnih funkcij. Ustvarite lahko na primer vklop s časovnikom, ki podaljša čas igranja, ko je zbran. Ustvari novo datoteko z imenom timer-power-up.py in dodajte kodo s spodnjo posodobitvijo:

razredIgra(arkadne. okno):
def__v__(jaz, širina, višina):
super().__init__(širina, višina)
arcade.set_background_color (črna)

self.player = arkada. SpriteCircle(20, modra)
# ...

self.timer_power_up = arkada. SpriteSolidColor(40, 20, oranžna)
self.timer_power_up.center_x = random.randint(0, premer)
self.timer_power_up.center_y = random.randint(0, višina)

self.game_time = 60# Začetni čas igre v sekundah
self.timer_power_up_duration = 10

# ...

defnadgradnja(sam, delta_time):
# ...

če arcade.check_for_collision (self.player, self.timer_power_up):
self.game_time += self.timer_power_up_duration
self.timer_power_up.remove_from_sprite_lists()

# ...

defglavni():
igra = Igra(800, 600)
arcade.run()

če __ime__ == "__glavni__":
glavni ()

Najboljše prakse za dodatke in zbirateljske predmete

Okrepitve in zbirateljski predmeti igrajo ključno vlogo pri izboljšanju igralne izkušnje arkadnih iger. Če želite zagotoviti, da so ti elementi prijetni in dobro integrirani v igro, je nujno upoštevati nekaj najboljših praks:

Vizualna jasnost in doslednost

Uporabite različne in vizualno privlačne sprite za okrepitve in zbirateljske predmete, da bodo izstopali od drugih elementov igre. Zagotovite, da je videz okrepitev in zbirateljskih predmetov usklajen z njihovimi učinki in namenom v igri.

Ohranite doslednost pri oblikovanju, barvnih shemah in velikosti za okrepitve in zbirateljske predmete skozi igro.

Ravnovesje in izziv

Prilagodite redkost in porazdelitev okrepitev in zbirateljskih predmetov, da ohranite občutek izziva in nagrade za igralce. Izogibajte se preobremenitvi igralcev s preveč okrepitvami ali zbirateljskimi predmeti, saj bi to lahko zmanjšalo učinek in navdušenje ob njihovem iskanju.

Pazljivo uravnotežite učinkovitost in trajanje okrepitev, da preprečite, da bi bile premočne ali premajhne.

Jasni indikatorji in povratne informacije

Zagotavljanje jasnih vizualnih in zvočnih indikatorjev, ko igralec zbere moč ali zbirateljski predmet. Prikažite začasne vizualne učinke, kot so animacije ali delci, ki označujejo aktiviranje okrepitev in njihovo trajanje.

Razmerje med izzivom in nagrado

Zagotovite, da bodo dodatki za napajanje in zbirateljski predmeti igralcu zagotovili pomembne nagrade, kot so povečan rezultat, dodatne sposobnosti ali podaljšan čas igranja. Uskladite težave pri pridobivanju moči in zbirateljskih predmetov z ugodnostmi, ki jih ponujajo. Zahtevnejše naloge bi morale prinesti več dragocenih nagrad.

Testiranje igranja in uravnoteženje

Obširno preizkusite igro, da opazujete, kako igralci komunicirajo z okrepitvami in zbirateljskimi predmeti. Uporabite povratne informacije igralcev, da natančno prilagodite porazdelitev, trajanje in učinke okrepitev in zbirateljskih predmetov, da ustvarite uravnoteženo in prijetno izkušnjo.

Z upoštevanjem teh najboljših praks lahko ustvarite očarljiv in dobro uravnotežen sistem za vklop in zbiranje, ki izboljša izkušnjo igranja in ohranja igralce vključene v vašo arkadno igro.

Naredite igre bolj zabavne z dodatki Power-Up in zbirateljskimi predmeti

Okrepitve in zbirateljski predmeti arkadnim igram dodajo dodatno plast vznemirjenja in angažiranosti. Igralcem ne zagotavljajo le novih sposobnosti in nagrad, temveč ustvarjajo tudi zanimive izzive in strateške odločitve.

Z vključitvijo teh funkcij s knjižnico Python Arcade lahko svoje igre naredite bolj prijetne in izboljšate celotno igralno izkušnjo za svoje igralce. Ne pozabite eksperimentirati, ponavljati in sprostiti svojo ustvarjalnost, da ustvarite edinstvene in očarljive dodatke in zbirateljske predmete, ki se ujemajo s temo in mehaniko vaše igre.