Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Алгоритм A* [Delphi, Windows]


delpher_gray ©   (2003-10-30 20:40:00) 

Такая проблема...
Не получается применить алгоритм в игре с изометрической картой !!
Карта квадратная. Когда карта была ромбообразная, алгоритм работал нормально, а когда я переделал карту, то почему-то алгоримт работает не верно...
В чём я мог ошибиться ??
Или просто киньте ссылки на статьи\ресурсы с изометрическими картами в виде квадрата...


delpher_gray   (2003-11-06 13:48:00) [1]

Млин... Нород попробуйте нарисуйте изометрическую карту не ромбообразную, а квадратную, и сами увидите почему так !


delpher_gray   (2003-11-06 13:47:00) [2]

Млин... Нород попробуйте нарисуйте изометрическую карту не ромбообразную, а квадратную, и сами увидите почему так !


Alek Aaz   (2003-11-06 09:36:00) [3]

Видимо надо спросить delpher_gray - что такое изометрическая карта. Что такое изометрический вид я знаю, но что такое изометрическая карта???? У нее что, клеточки какие-то особенные?


cyborg   (2003-11-05 21:05:00) [4]

Интересный ты человек, по русски же написал, делай так же, фомат карты то не изменился, изменяется только вывод карты на экран, что я тебе нарисовал [12] cyborg ©  (04.11.03 00:53)


delpher_gray   (2003-11-05 15:58:00) [5]

И ответа всё-таки нет...


TButton   (2003-11-04 18:08:00) [6]

и ответ по части домена...


cyborg   (2003-11-04 00:55:00) [7]

Немного кривоватый ромб получился :(


cyborg   (2003-11-04 00:53:00) [8]

Вообщето почему по высоте выше?
будет квадратная матрица, а смотреться будет как ромб.
матрица в программе такая:

00000
11111
22222
33333
44444

выводится например так:

   0
  1 0
 2 1 0
3 2 1 0
4 3 2 1 0
4 3 2 1
 4 3 2
  4 3
   4


[9] Unknown user ©   (03.11.03 20:55)
Как ни странно, купил :), насчёт дорого или нет - смотря с какой стороны посмотреть.


Mihey   (2003-11-03 21:49:00) [9]

Вся сложность в исчислении координат. Я как-то делал движок, там было исчисление от верхнего левого угла экрана (именно экрана) и карта повторяла форму экрана, так, что в каждом чётно мряду было на 1 тайл меньше и если заполнять стандартный экран, например, 800х600, то по вертикали было тайлов в два раза больше. Прибавление к координате +1 перебрасывало через ячейку.

Потом я отказался от такой системы. Сделал обычный ромб, а чтобы карта была прямоугольной - просто ограничил перемещение. При такой системе исчисления я без труда могу применить стандартные алгоритмы поиска пути или чего угодно.


delpher_gray   (2003-11-03 20:57:00) [10]

То есть увеличить высоту матрица в драза !?!


Unknown user   (2003-11-03 20:55:00) [11]

2 cyborg. Нескромный вопрос, как вам достался адрес в домене RU? И сколько такое удовольствие стоит?
Да, если ты заинтересовался моей демкой(Robots 3D Demo), могу скинуть почтой, чуть больше исходников, чем уже было выложено. А если хочешь посмотреть в движении - надо скачать EXE и карту.
Сорри, что не в тему...


cyborg   (2003-11-03 20:43:00) [12]

Я понял, понял то, что ты не понял, что речь идёт о прямоугольной матрице 75х150, делать так же, как и для матрицы 75х75.


delpher_gray   (2003-11-03 18:38:00) [13]

Правильно !
Всё различие в матрице !!
Так вот как применить алгоритм поиска пути к изометрической матрице ??
Различие обычной матрицы от изомтрической заключается в том, что у изометрической рядов в высоту в два раза больше чем должно было быть !
Например карта 75x75:
В ширину - 75 клеток,
в высоты - 150 клеток...

То есть каждые два ряда имеют одинаковое знгачение Y (по вертикали)...

Интересно, кто-нить чё-нить понял :))


TButton   (2003-11-03 17:49:00) [14]

imho есть игры с изометрической графикой, а карты это всегда матрица


VitGun   (2003-11-03 11:56:00) [15]

http://delphigfx.mastak.ru/samples/samp10.rar- iso карта
http://delphigfx.mastak.ru/samples/samp8.rar- iso карта
http://delphigfx.mastak.ru/samples/samp2.rar- поиск пути


delpher_gray   (2003-11-02 20:52:00) [16]

Игр с изометрическими картами нет :((
Если знаешь полезные ссылки, то пиши :)


VitGun   (2003-11-02 05:48:00) [17]

В Инете туева хуча исходников с поиском пути, не понимаю в чем загвоздка, возьми исходник, изучи его и напиши алгоритм под свой движок...А в форуме,ссылку на который ты дал, обычный флейм идет...ничего полезного...


delpher_gray   (2003-11-01 16:11:00) [18]

С отрисовкой проблем у меня нет, есть проблема с поиском пути !!!
Там кординаты путаются...
Если хочешь помочь в разработке, то заходи на форум: http://delphi.vov.ru/topic.php?forum=6&topic=4


VitGun   (2003-11-01 06:28:00) [19]

Скажем у тебя были тайлы 64х32, тогда код отрисовки был примерно такой:

for x:=0 to 30 do
 for y:=0 to 30 do
  begin
    DrawTile((x-1)*32,(y-1)*16);
    ...
  end;
Это отрисовка одного ряда тайлов.
А если ты переделал на квадратную карту(тайлы 32х32), то нужно изменить подсчет координат:
    ...
    DrawTile((x-1)*32,(y-1)*32);
    ...
А еще лучше в движке сделать так, чтобы он сам определял размеры тайла и в зависимости от него рассчитывал координаты.
Т.Е. тебе всего лишь нужно изменить расчет координат для отрисовки тайлов...Если можешь кинь на мыло исходник.


Наверх

Титульная страница Поиск, карта сайта Написать письмо