Пишем новую ходилку...

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Пишем новую ходилку...

Post by Savage »

Вопрос простой, чего больше в игре, проходимых тайлов или непроходимых?

И если кто уже смотрел, выкладывайте диапазон проходимых/непроходимых тайлов.
omi4
Posts: 457
Joined: 2005-07-10 21:53:05

Post by omi4 »

тут все проходимые их меньше, чем не проходимых..

Code: Select all

sub IsPass(X,Y) ; 4 - 2539
   
   if UO.PrivateGetTile(X, Y, -1, 3, 25) || UO.PrivateGetTile(X, Y, -1, 51, 63) || UO.PrivateGetTile(X, Y, -1, 113, 140) then
      return true
   endif
   if UO.PrivateGetTile(X, Y, -1, 172, 219) || UO.PrivateGetTile(X, Y, -1, 232, 235) || UO.PrivateGetTile(X, Y, -1, 239, 243) then
      return true
   endif
   if UO.PrivateGetTile(X, Y, -1, 248, 251) || UO.PrivateGetTile(X, Y, -1, 256, 259) || UO.PrivateGetTile(X, Y, -1, 264, 267) then
      return true
   endif
   if UO.PrivateGetTile(X, Y, -1, 282, 289) || UO.PrivateGetTile(X, Y, -1, 298, 309) || UO.PrivateGetTile(X, Y, -1, 321, 379) then
      return true
   endif
   if UO.PrivateGetTile(X, Y, -1, 420, 440) || UO.PrivateGetTile(X, Y, -1, 476, 499) || UO.PrivateGetTile(X, Y, -1, 513, 542) then
      return true
   endif
   if UO.PrivateGetTile(X, Y, -1, 578, 586) || UO.PrivateGetTile(X, Y, -1, 622, 700) || UO.PrivateGetTile(X, Y, -1, 804, 1740) then
      return true
   endif
   if UO.PrivateGetTile(X, Y, -1, 1758, 1770) || UO.PrivateGetTile(X, Y, -1, 1779, 1779) || UO.PrivateGetTile(X, Y, -1, 1881, 1886) then
      return true
   endif
   if UO.PrivateGetTile(X, Y, -1, 1801, 1805) || UO.PrivateGetTile(X, Y, -1, 1813, 1820) || UO.PrivateGetTile(X, Y, -1, 1831, 1833) then
      return true
   endif
   if UO.PrivateGetTile(X, Y, -1, 1843, 1850) || UO.PrivateGetTile(X, Y, -1, 1861, 1864) || UO.PrivateGetTile(X, Y, -1, 1873, 1876) then
      return true
   endif
   if UO.PrivateGetTile(X, Y, -1, 1885, 1888) || UO.PrivateGetTile(X, Y, -1, 1946, 1969) || UO.PrivateGetTile(X, Y, -1, 2500, 2539) then
      return true
   endif
   return false
end sub
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Какой алгоритм планируется использовать ?

Я так думаю, забацать какой-нибудь D* или A*, слегка переделать + обход мелких не найденных препятствий и будет кулл..
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Еще не определился. Идея простая, трассируем маршрут до точки назначения, если препядствий нет то го, если есть, то маршрут разбтвается на несколько промежуточных точек.
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Логично..

А как насчёт трассировать оптимальный маршрут ?

Я же не просто так про алгоритм спросил..
GimFlex
Expert!
Posts: 766
Joined: 2005-01-07 13:22:19
Contact:

Post by GimFlex »

давайте ребят мы в вас верим
Post Reply