Добавлен
Чё-то у меня алгоритмическая затупа. Второй день сообразить не могу. Вроде бы не тупой, но алгоритм не создаётся. Что я хочу сделать: прибавка хп герою в зависимости от его интеллекта. Проблема в том, что интеллект меняется на протяжении всей игры, поэтому на это нужно динамическое условие. Моя мысль: каждую 1.00 прибавлять нужное количество здоровья и создавать таймер, который через секунду это всё удалит. Но в таком случае здоровье остаётся неизменным, что довольно-таки логично. Есть идеи?

Принятый ответ

N раз в секунду смотреть текущий интеллект и сравнивать со старым. Если есть разница, то уменьшить или увеличить здоровье. После этого записать текущий интеллект в переменную для "старого".
Моя мысль: каждую 1.00 прибавлять нужное количество здоровья и создавать таймер, который через секунду это всё удалит. Но в таком случае здоровье остаётся неизменным, что довольно-таки логично.
Не уловил, звучит как ерунда.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
5
19
5 лет назад
5
Похожие вопросы:

ответ
Daniil18, если не знаеш не пиши не по тему!
Нашел буду мучать его в варик делать digspt.ru/topics/32
ответ
Причину нашел что раньше было "xe_RAWCODE_FOOD *-* count" поэтому давали не правильно, но путем поиска нашел причину и исправил на *+*
ответ
Я бы определял принадлежность центров квадрата некой окружности. Не так интуитивно-однозначно как проверка принадлежности всех точек квадрата окружности, но гораздо удобнее с точки зрения реализации. Далее для каждой строки поочередно прогоняем алгоритм заливки(в случае, если заливка подразумевает заливку текстурой почвы - стоит учитывать что каждый квадрат почвы имеет размеры 32/32 и центры мелких квадратиков имеют смещение в 16.), закрашивая почву в пределах новоопределенных ректов. Поочередно построчно, т.к. возможно у вас возникнет ситуация черное-белое-черное-белое и вторая строка (если весь массив прогонять подряд, а не построчно) начнется с черного квадрата. Не вижу каких-либо вытекающих неудобств при разработке..
ответ
Да как хочешь, главное, чтобы тебе и игрокам удобно было. Можно все коэфициенты складывать (то есть броня снижает на 40%, от огня защита 10%, итого урон от огня снижается на 50%), а можно перемножением (в этом случае будет снижение будет 46%).
Результат, сами понимаете, может быть разный.
От перестановки множителей произведение не меняется. Ведь это будет так.
damage * (1 - common armor %) * (1 - fire armor %)

2
28
5 лет назад
2
N раз в секунду смотреть текущий интеллект и сравнивать со старым. Если есть разница, то уменьшить или увеличить здоровье. После этого записать текущий интеллект в переменную для "старого".
Моя мысль: каждую 1.00 прибавлять нужное количество здоровья и создавать таймер, который через секунду это всё удалит. Но в таком случае здоровье остаётся неизменным, что довольно-таки логично.
Не уловил, звучит как ерунда.
Принятый ответ
2
32
5 лет назад
2
Эмм, баг спредметами на хп и банальное добавление хп по ходу игры, т.к интелект у стандартных героев будет только расти, для достаточно события на повышение уровня и подбор \ потерю предметов, чтобы пересчитывать хп.
0
16
5 лет назад
Отредактирован Naadir
0
quq_CCCP, ну вот, крч, он будет не только расти. :D
PT153, да, я думал над твоей идеей, но реализовывать её не было большой охоты, т.к. нужно каким-то образом ещё и начальный скачок отловить, а не только дельту думал, мб что-то проще будет. Ладушки, сделаю так.

Осуществил, всё работает.
0
28
5 лет назад
0
достаточно события на повышение уровня и подбор \ потерю предметов, чтобы пересчитывать хп
Вот кстати да, если интеллект модифицируется только предметами, то можно сделать всего 2 события, и в них пересчитывать.
0
16
5 лет назад
0
PT153, нет, у меня не только предметами, но и перераспределением статов может модифицироваться.
0
32
5 лет назад
0
Naadir:
PT153, нет, у меня не только предметами, но и перераспределением статов может модифицироваться.
При перераспределении статов, вызывать триггер который следит за бонусом хп, передавая в него юнита через глобальную переменную, ну или вручать руну пустышку чтобы инициировать событие - юнит получил предмет.
0
16
5 лет назад
0
quq_CCCP, тоже вариант.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.