Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];

Вниз

Алгоритм A*   Найти похожие ветки 

 
delpher_gray ©   (2003-10-30 20:40) [0]

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


 
VitGun ©   (2003-11-01 06:28) [1]

Скажем у тебя были тайлы 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);
    ...
А еще лучше в движке сделать так, чтобы он сам определял размеры тайла и в зависимости от него рассчитывал координаты.
Т.Е. тебе всего лишь нужно изменить расчет координат для отрисовки тайлов...Если можешь кинь на мыло исходник.


 
delpher_gray ©   (2003-11-01 16:11) [2]

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


 
VitGun ©   (2003-11-02 05:48) [3]

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


 
delpher_gray ©   (2003-11-02 20:52) [4]

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


 
VitGun ©   (2003-11-03 11:56) [5]

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


 
TButton ©   (2003-11-03 17:49) [6]

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


 
delpher_gray ©   (2003-11-03 18:38) [7]

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

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

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


 
cyborg ©   (2003-11-03 20:43) [8]

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


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

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


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

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


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

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

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


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

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

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)
Как ни странно, купил :), насчёт дорого или нет - смотря с какой стороны посмотреть.


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

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


 
TButton ©   (2003-11-04 18:08) [14]

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


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

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


 
cyborg ©   (2003-11-05 21:05) [16]

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


 
Alek Aaz ©   (2003-11-06 09:36) [17]

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


 
delpher_gray ©   (2003-11-06 13:47) [18]

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


 
delpher_gray ©   (2003-11-06 13:48) [19]

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



Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.06 c
14-1080807128
Anatoly Podgoretsky
2004-04-01 12:12
2004.04.25
Про чат


9-1066728269
Гарри Поттер
2003-10-21 13:24
2004.04.25
"OpenGl Графика в проектах Дельфи" М.Краснов


14-1080470983
Kolyan
2004-03-28 14:49
2004.04.25
классы и объекты


1-1081515243
LeShick
2004-04-09 16:54
2004.04.25
Скопировать вчерашний файл


7-1077382967
Maxkat
2004-02-21 20:02
2004.04.25
Установка программ





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский