Page 2 of 2
Posted: 2007-05-20 21:24:17
by Grin
DerMeister =) wrote:...
Во приплел... Центр мас... рычаги... Молодой целовек зачем вы сюда моменты припахали? это то за чем???
Геометрическая сумма векторов очень просто просчитывается (Математики мизер). Вращение... Ужас...
для просчета "силы" надо как минимум учесть:
1. Ратсояние (уже получаем извектора)
2. Характеристики монстрика (сила, скорость, дальняя атака)
желтые точки это монстры, красная - чар, серая - точка отхода
Так вот имеем уравнение |A+|M1+|M2+|M3+|M4=|0 (нольвектор)
Отсюда имеем |M1+|M2+|M3+|M4=-|A
откуда получаем кординаты
Xa= -(Xm1+Xm2+Xm3+Xm4)
Ya= -(Ym1+Ym2+Ym3+Ym4)
Соортветствено надо будет нормальизовать вектор (свети его длину к 1) что бы получить направление
Posted: 2007-05-20 21:54:25
by DerMeister =)
А я что сказал?
Тоже самое. Масса - опасность моба. Результат тотже. 1 в 1.
Насчет вращения - положим ты выбрал направления основывыясь на сумме векторов... начал движение. Вдруг прям по вектору перемещения возеик моб... что отсуд следует? А то, что твой алгоритм высчитает новый вертор, по которому нужно двигатся. А там опять моб, опять новое направление. А если учеть тот факт, что в памяти киента харанится только 14 на 14 тайлов, то при двидежии чара часть мобов будит выпадать из поля зрения, а часть появлятся, следовательно, возможна ситуация колебиния чара вокруг некоторой точки. тыж понимаешь о чем я. Давай соглашайся, и нужно придумывать новую концепцию... Вектора не рулят.
ПС: Прежде чем ляпать картинку, убедись что она показывается.
Posted: 2007-05-20 23:23:08
by Grin
Картинка показывается не переживай...
Чар не будет бегать... Чар будет двигатся в торону наименьшей опасности...
тоесть он может двигатся в сторону наибезопаснейшего моба и пройдет его мимо, тогда векторная картина резко изменится, что придаст ей более красивую картину...
Не будет никакого кручения...
ПС 14 тайлов сам насчитал?;) К даной ситуации это ни как не относится... никто не будет брать даные клиента (темболее от куда хыхы...)
Posted: 2007-05-21 02:01:16
by Ururu
Запутался
Code: Select all
sub main()
VAR S = 5 ; дистанция
VAR G, K
UO.Set( 'finddistance', 'S' )
DIM Mobs[5]
Mobs[0] = '0x9999'
Mobs[1] = '0x9999'
Mobs[2] = '0x9999'
Mobs[3] = '0x9999'
Mobs[4] = '0x9999'
For G = 0 To 3
dim Xm[20]
dim Ym[20]
For K = 0 To 18
UO.FindType(Mobs[G],'-1','1')
If UO.FindCount() Then
For X=-S to S
For Y=-S to S
Repeat
UO.WaitTargetGround(Mobs[G],'-1')
UO.AddObject('Vrag')
Xm[20] = UO.GetX('Vrag')
Ym[20] = UO.GetY('Vrag')
UO.Ignore('Vrag')
UO.FindType(Mobs[G],'-1','1')
Until UO.FindCount()
UO.IgnoreReset()
Else
UO.Print("Free !!!")
Return 0
End If
UO.FindType(Mobs[G],'-1','1')
Xmob = ( Xm[0] + Xm[1] + Xm[2] + Xm[3] + Xm[4] + Xm[5] + Xm[6] + Xm[7] + Xm[8] + Xm[9] + Xm[10] + Xm[11] + Xm[12] + Xm[13] + Xm[14] + Xm[15] + Xm[16] + Xm[17] + Xm[18] + Xm[19] ) * (-1)
Ymob = ( Ym[0] + Ym[1] + Ym[2] + Ym[3] + Ym[4] + Ym[5] + Ym[6] + Ym[7] + Ym[8] + Ym[9] + Ym[10] + Ym[11] + Ym[12] + Ym[13] + Ym[14] + Ym[15] + Ym[16] + Ym[17] + Ym[18] + Ym[19] ) * (-1)
Next
Next
Next
Next
GoToTile( Xmob, Ymob, 1, False )
End Sub
Sub GoToTile( OX, OY, N, S )
...
...
End Sub
Posted: 2007-05-21 13:26:44
by I'm
Posted: 2007-05-21 14:20:46
by Rivory
Ururu wrote:Code: Select all
sub main()
VAR S = 5 ; дистанция
VAR G, K
......
......
......
For X=-S to S
For Y=-S to S
Не обьявил переменные X,Y.
Posted: 2007-05-21 18:34:36
by DerMeister =)
Кто и на каком основании мой пост и пост Грина удалил?

Posted: 2007-05-21 19:15:03
by I'm
Вероятно тотже кто и удалил первый раз мой пост с попкормом.
Почему закрыта тема?
Вопрос еще не исчерпан.
Posted: 2007-05-21 19:22:21
by DerMeister =)
Тема закрыта до выяснения кто такой умный удалил и не отписался. У нас тут вродебы принято, что модератор отписывается о своих действиях и о их причине... Без тех постов нереально продолжать дисскуссию.
Posted: 2007-05-21 20:08:11
by Destruction
Ну вообще-то я отписался..
А вот I'm прибил мой пост.. Молодец.
Пост удалён на основании оскорбления в том посте другого участника форума.
Re: Как получить координаты обратные данным?
Posted: 2010-08-07 15:49:26
by Skicher
А если по формуле вычитать из координат моба - свои, и собственно на получившиеся корднаты идти ходилкой?
Re: Как получить координаты обратные данным?
Posted: 2010-08-08 18:22:19
by Mirage
ты находишься в точке 1000,2000,5
моб находиться в точке 1000,2010,0
что и из чего ты тут вычитать собрался?

Re: Как получить координаты обратные данным?
Posted: 2010-08-09 00:15:35
by Skicher
из 1000 - 1000, из 2000 - 2010 , из 5 - 5
получу 0 -10 0
прибавлю к своим координатам получу свои новые
1000 1990 5
в чем фан?
Re: Как получить координаты обратные данным?
Posted: 2010-08-09 09:36:24
by Mirage
фан в том что ты не написал ПРИБАВИТЬ
В принципе тема нормальная за двумя НО.
1)надо делать проверку на "можно ли дойти в полученную кооридану" и "не находиться ли там какойнибудь не проходимый объект"
2) координату Z задействовать не стоит имхо. Бывают уровни где она в паре тайлов отличается на более 50 единиц - чару будет трудно на плоскогорье подняться на 40 единиц в верх.
и еще от себя добавлю. Я бы сделал чуть по другому - чар проверяет монстрятину по подобной формуле но координаты берет не (свои - моб + свои) а (свои +-1 шаг в противоположную мобу сторону) затем опять делал проверку. Я не читал всю тему но по моему данный вариант уже обсуждался и он более оптимален.
Re: Как получить координаты обратные данным?
Posted: 2010-08-11 00:02:43
by Skicher
Mirage действительно не написал, пардон. Z - мб
проверка на доходимость в моем случае не очень нужна чесно говаря, а +-1 шаг неудобно, поскольку я стрелять с лука в моба собираюсь, моб подошел на 6 тайлов, чар - отбежал на 12.

Re: Как получить координаты обратные данным?
Posted: 2010-09-27 09:43:58
by admir
Грин - как всегда просто и великолепно.
А что мешает имея координаты куда ходить подставить их в ходилку с обходом препядствий , которых на этом форуме полно.
К тому же было написано что проверяя постоянно шаг за шагом расположение опасных монстров мы получаем картину движения чара, поэтому в ходилке можно минимизировать затраты на поиск обхода пути до 3-5 клеток.