Која је поента игре без резултата? Неке могу и без њих, али већина игара које ћете креирати мораће да каже играчу колико им добро иде.

Резултати су саставни део многих игара јер обезбеђују меру напретка и постигнућа за играче.

У Питхон-у, Арцаде библиотека нуди једноставан и ефикасан начин управљања резултатима у игрицама. Ефикасним управљањем резултатима, можете побољшати ангажовање корисника и пружити импресивније искуство играња.

Направите једноставну игру

Пре него што почнете, уверите се да имате пип инсталиран на вашем уређају. Користите ову команду да инсталирате библиотеку аркада:

пип инсталл арцаде

Сада направите једноставну игру користећи Питхон-ову Арцаде библиотеку.

Код који се користи у овом чланку доступан је у овом ГитХуб спремиште и бесплатан је за коришћење под МИТ лиценцом.

У овој игри, играч може да се креће лево и десно помоћу тастера са стрелицама, док је препрека постављена на истој и-оси.

увоз арцаде

# Подесите димензије прозора
СЦРЕЕН_ВИДТХ = 800
СЦРЕЕН_ХЕИГХТ = 600

класаМиГаме(аркада. прозор):

instagram viewer

деф__у томе__(само, ширина, висина):
супер().__инит__(ширина, висина)
селф.плаиер_к = ширина // 3
селф.сцоре = 0

дефон_кеи_пресс(селф, кључ, модификатори):
ако кључ == арцаде.кеи. ЛИЈЕВО:
селф.плаиер_к -= 10
елиф кључ == арцаде.кеи. ЈЕЛ ТАКО:
селф.плаиер_к += 10

дефажурирање(селф, делта_тиме):
# Ажурирајте логику игре овде
проћи

дефон_драв(сам):
арцаде.старт_рендер()
арцаде.драв_цирцле_филлед (селф.плаиер_к, 50, 20, арцаде.цолор. ПЛАВИ)
арцаде.драв_рецтангле_филлед(400, 50, 100, 50, арцаде.цолор. ЦРВЕНА)

дефглавни():
игра = Моја игра (СЦРЕЕН_ВИДТХ, СЦРЕЕН_ХЕИГХТ)
арцаде.рун()

ако __наме__ == "__главни__":
главни()

Праћење и израчунавање резултата

Да бисте пратили резултат у игри, можете креирати механизам за повећање резултата кад год се испуни одређени услов. На пример, резултат се повећава кад год се играч се креће у вашој игри и успешно додирује препреку. Можете променити ажурирање метод за укључивање логике израчунавања резултата:

класаМиГаме(аркада. прозор):
деф__у томе__(само, ширина, висина):
супер().__инит__(ширина, висина)
селф.плаиер_к = ширина // 3
селф.сцоре = 0

дефон_кеи_пресс(селф, кључ, модификатори):
ако кључ == арцаде.кеи. ЛИЈЕВО:
селф.плаиер_к -= 10
елиф кључ == арцаде.кеи. ЈЕЛ ТАКО:
селф.плаиер_к += 10

дефажурирање(селф, делта_тиме):
ако селф.плаиер_к > 330и селф.плаиер_к < 470:
селф.сцоре += 1

Приказ резултата

Да бисте приказали резултат играчу, измените он_драв метод за укључивање приказа текста:

класаМиГаме(аркада. прозор):
# ...

дефон_драв(сам):
арцаде.старт_рендер()
арцаде.драв_цирцле_филлед (селф.плаиер_к, 50, 20, арцаде.цолор. ПЛАВИ)
арцаде.драв_рецтангле_филлед(400, 300, 100, 50, арцаде.цолор. ЦРВЕНА)

сцоре_тект = ф"Оцена: {селф.сцоре}"
арцаде.драв_тект (сцоре_тект, 10, 10, арцаде.цолор. БЕО, 14)

Додавањем горњег кода можете приказати резултат у доњем левом углу прозора игре.

Чување високог резултата

Да бисте играчима пружили осећај достигнућа и конкуренције, од суштинске је важности да сачувате и прикажете висок резултат. За ово можете користити једноставан приступ заснован на датотекама.

Користити лоад_хигх_сцоре метод за читање високог резултата из датотеке под називом хигх_сцоре.ткт и врати га. Након тога, можете сачувати нови највиши резултат у датотеку користећи саве_хигх_сцоре методом.

класаМиГаме(аркада. прозор):
деф__у томе__(само, ширина, висина):
супер().__инит__(ширина, висина)
селф.плаиер_к = ширина // 3
селф.сцоре = 0
селф.хигх_сцоре = селф.лоад_хигх_сцоре()

дефлоад_хигх_сцоре(сам):
покушати:
са отвори ("хигх_сцоре.ткт", "р") као фајл:
повратак инт (филе.реад())
осим ФилеНотФоундЕррор:
повратак0

дефсаве_хигх_сцоре(сам):
са отвори ("хигх_сцоре.ткт", "в") као фајл:
филе.врите (стр (селф.хигх_сцоре))

дефажурирање(селф, делта_тиме):
# ...

ако селф.сцоре > селф.хигх_сцоре:
селф.хигх_сцоре = селф.сцоре
селф.саве_хигх_сцоре()

Приказ високе оцене

Слично приказивању тренутног резултата, можете додати приказ текста да бисте приказали висок резултат:

класаМиГаме(аркада. прозор):
# ...

дефон_драв(сам):
# ...

хигх_сцоре_тект = ф"Висока оцена: {селф.хигх_сцоре}"
арцаде.драв_тект (хигх_сцоре_тект, 10, 30, арцаде.цолор. БЕО, 14)

Укључивањем горњег кода у он_драв методом, можете приказати висок резултат непосредно изнад тренутног резултата.

Укључујући додатне функције

Управљање резултатима у играма често укључује укључивање додатних функција како би играње учинило занимљивијим и динамичнијим. Хајде да истражимо неке примере како можете увести додатне функције уз управљање резултатом у вашој игри.

Повер-Упс

Појачања су посебне ставке које играчима дају привремене предности или бонус поене. Направите ан ацтивате_повер_уп метод који покреће активацију напајања, подешавање повер_уп_ацтиве заставицу на Тачно.

Можете заказати деацтивате_повер_уп метод за покретање након одређеног трајања (нпр. 10 секунди) користећи аркада.распоред функција. Током активног периода укључивања, можете користити аппли_повер_уп_еффецтс метод за имплементацију специфичних побољшања играња.

Ево примера имплементације функције за појачавање у вашој игри.

класаМиГаме(аркада. прозор):
деф__у томе__(само, ширина, висина):
супер().__инит__(ширина, висина)
селф.плаиер_к = ширина // 3
селф.сцоре = 0
селф.повер_уп_ацтиве = Фалсе

дефажурирање(селф, делта_тиме):
ако селф.повер_уп_ацтиве:
# Примените ефекте појачања током игре
селф.аппли_повер_уп_еффецтс()
селф.сцоре += 10

дефаппли_повер_уп_еффецтс(сам):
# Додајте овде специфичну логику за напајање
проћи

дефацтивате_повер_уп(сам):
селф.повер_уп_ацтиве = Истина
# Подесите тајмер или трајање за ефекат укључивања
арцаде.сцхедуле (селф.деацтивате_повер_уп, 10.0)

дефдеацтивате_повер_уп(селф, делта_тиме):
селф.повер_уп_ацтиве = Фалсе

Цомбо Систем

Комбиновани систем награђује играче за постизање узастопних успешних акција или множитеља резултата. Направите ан Повећање_комбо_бројача метод који повећава комбиновани бројач и повећава резултат на основу тренутног комбинованог нивоа.

Можете позвати ресет_цомбо_цоунтер метод и ресетујте комбиновани бројач на нулу кад год се деси неуспешна радња. Ево једноставне имплементације комбинованог система:

класаМиГаме(аркада. прозор):
деф__у томе__(само, ширина, висина):
супер().__инит__(ширина, висина)
селф.плаиер_к = ширина // 3
селф.сцоре = 0
селф.цомбо_цоунтер = 0

дефажурирање(селф, делта_тиме):
# Проверите успешне радње
ако селф.цхецк_суццессфул_ацтион():
селф.инцреасе_цомбо_цоунтер()
друго:
селф.ресет_цомбо_цоунтер()

дефПовећање_комбо_бројача(сам):
селф.цомбо_цоунтер += 1
селф.сцоре += селф.цомбо_цоунтер

дефресет_цомбо_цоунтер(сам):
селф.цомбо_цоунтер = 0

Укључујући додатне функције као што су појачања и комбиновани системи, можете додати дубину и узбуђење својој игри, пружајући играчима додатне подстицаје да побољшају своје перформансе, стратегију својих акција и постигну више резултати.

Најбоље праксе за управљање резултатом

Када је у питању управљање резултатом у игрицама, праћење најбољих пракси може помоћи у стварању угоднијег и занимљивијег искуства за играче. Ево неколико кључних пракси које треба узети у обзир:

Смислени механизми бодовања

Дизајнирајте механизме за бодовање који су у складу са циљевима игре и пружају значајне повратне информације играчима. Систем бодовања треба да одражава играчев напредак, вештину и достигнућа у игри.

Размислите о додељивању различитих вредности поена различитим акцијама или догађајима на основу њихове тежине или важности за игру.

Визуелне повратне информације

Обезбедите визуелну повратну информацију играчима када се резултат промени. То можете постићи путем обавештења на екрану, анимација или ефеката честица. Визуелни знаци стварају осећај постигнућа и појачавају акције играча, повећавајући њихов ангажман у игри.

Звучни ефекти и анимације

Припојити звучни ефекти у вашој игри који се односе на ажурирања резултата како би искуство било привлачније. На пример, пустите звучни ефекат славља или прикажите рафал конфета када играч достигне значајну прекретницу. Ови аудио-визуелни елементи додају узбуђење и појачавају позитивну повратну спрегу за играче.

Уравнотеживање тежине и скалирање резултата

Обезбедите уравнотежен однос између тежине и скалирања резултата. Како играчи напредују кроз игру или наилазе на изазовније препреке, прилагодите систем бодовања у складу са тим. Скалирање резултата на основу криве тежине игре помаже у одржавању поштеног и корисног искуства за играче.

Придржавајући се ових најбољих пракси, можете ефикасно управљати резултатима своје игре, пружити играчима значајне повратне информације и створити корисно и занимљиво искуство.

Побољшајте ангажовање у игри помоћу праћења резултата

Имплементацијом праћења резултата у своју игру можете значајно побољшати ангажман играча. Резултати пружају осећај достигнућа, подстичу могућност поновног играња и подстичу такмичење међу играчима.

Приказујте резултате уочљиво и наградите висока достигнућа—мотивисаћете играче да теже бољим перформансама и побољшају своје вештине.