Форум » » не выходит сделать самоподсчет лвл в игре » Ответить

не выходит сделать самоподсчет лвл в игре

Yashko: Чет у меня не выходит сделать самоподсчет лвл в игре. Чтобы не для каждого лвл прописывать нужное кол-во опыта, а например каждые 25*уровень*2 опыта, давался +1 уровен. Вначале уровень = 0 Тоесть 1 уровень требует 0 опыта, потом 50 (2 лвл), потом 100 (3 лвл), потом 150 (4 лвл) и т.д. И в, допустим, ВНТО, щаз есть тока 5 уровней + 1 если убиваешь босса. А таким способом теоритически можно набрать NaN лвл.

Ответов - 10

Byte: Что-нибудь вроде [pre2] if опыта_накопилось>=50*уровень: уровень=уровень+1 опыта_накопилось=0 end[/pre2]

Yashko: ага. Потом ток надо будет подкорректировать, чтобы не каждый лвл = 50 опыта, а 50,100,200,400 (*2)

elmortem: И опыта накопилось не надо сбрасывать. (:


Yashko: Надо. У меня 2 переменные - опыта накопилось (за этот уровень) и опыта всего (для отображения игроку)

Nex: Скажем так: зависит от реализации. Есть десятки способов сделать повышение уровня с накоплением опыта, с обнулением накопленного опыта и без. Приведенный выше код - с обнулением. Как кому нравится, так и делайте.

elmortem: Nex Обнулять опыт - неэтично. Именно про это я и говорил, а не про реализацию. (:

Yashko: Блин... У меня в игре отобажается переменная опыт, а переменная опыт_накопил, не отображается, и используется только в коде. При переходе на новый лвл, опыт_накопил обнуляется, и копится снова, до след лвл. А переменная опыт - только идет в плюс, и отображатся игроку.

elmortem: Yashko Да понял я, чо...

Byte:

Aleks Versus: Мой примерчик: if point>pointmarker or point=pointmarker: level=level+1 pointmarker=pointmarker+level*100 end ! pointmarker выставляется изначально, если с нулевого уровня еще нужно одняться. Если не выставить, в самом начале присваивается первый уовень.



полная версия страницы