Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Лабиринт... кратчайший путь??? Добавлено: 23.06.06 19:56  

Автор вопроса:  EROS
Вопрос к специалистам по алгоритмам и математикам...
Задача:
Есть матрица 25*25 клеток, представляющая собой лабиринт в котором клетки помечены цифрами:
0-пустая клетка
1-стены
2-финиш
3-старт
Финиш всегда имеет координа 0;0(верхний левый угол)
Старт может распологаться где угодно...
Вопрос: нужно найти кратчайший путь от старта к финишу
Результат должен быть представлен массивом клеток (координат).. описываюших последовательность шагов кратчайшего пути к финишу..
Надо учитывать такие моменты:
-наличие нескольких решений.. (соответственно выбрать самое короткое)
-отсутствие решения вообще..
-каким то образом отсекать тупиковые ветки..

P.S. приму в дар решение на любом из VB-наречий... (у меня уже череп дымит.. :-(((

Ответить

  Ответы Всего ответов: 28  

Номер ответа: 1
Автор ответа:
 Алексей



ICQ: 207504159 

Вопросов: 1
Ответов: 14
 Web-сайт: lehs.info
 Профиль | | #1
Добавлено: 23.06.06 20:11
Есть "Волновой алгоритм поиска пути". Максимально просто, но не очень быстро.
Подробнее читай тут: http://lehs.info/astar.zip
Не помню откуда я взял этот документ, поэтому выложил на своем сайте для тебя.

Ответить

Номер ответа: 2
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #2 Добавлено: 23.06.06 22:35
Алексей
За статью отдельное спасибо.. во всяком случае хоть что-то прояснилось...
А нет ли кода реализующего данную идею?

З.Ы. это как раз мой вариант.. т.к. в моей задаче по диагонали тоже ходить нельзя...

Ответить

Номер ответа: 3
Автор ответа:
 Алексей



ICQ: 207504159 

Вопросов: 1
Ответов: 14
 Web-сайт: lehs.info
 Профиль | | #3
Добавлено: 24.06.06 09:35
Код есть, но на Паскале. Я писал игру для мобильника на MidletPascal. Посмотри, может и разберешся. Я по этой статье делал - все довольно просто.
http://lehs.info/astargame.zip

Ответить

Номер ответа: 4
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #4
Добавлено: 24.06.06 11:43
эх, вот делали мы с телепортами даже такие - то есть есть клетки из которых можно попасть в любую такую же клетку телепорт...
хотя некоторые думают (не скажу кто гыгы), что олимпиадники - это бедняги с искалечиной паскакалём психикой :))
п.с.
1-стены
2-финиш
3-старт

кто ж задаёт так старт и финиш? надо метить старт единицей, а финиш никак не метить а то как ходы то от 2 и 3 отличить? гы.

Ответить

Номер ответа: 5
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #5 Добавлено: 24.06.06 13:13
кто ж задаёт так старт и финиш? надо метить старт единицей, а финиш никак не метить а то как ходы то от 2 и 3 отличить?

да помечай ты их как душе угодно... это не суть важно...

Ответить

Номер ответа: 6
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #6 Добавлено: 24.06.06 18:49
ищи доки по A* Algorithm. Я сам в последнее время усиленно изучал поиск пути. У меня даже где-то примеры на vb.net и vb6 по поиску пути есть...

Ответить

Номер ответа: 7
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #7 Добавлено: 24.06.06 18:50
и кста, пытался его переделывать под шестиугольное поле)), а раз у тя тут квадраты - эт ещё легче))

Ответить

Номер ответа: 8
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #8 Добавлено: 24.06.06 19:08
есть на vb6, в точности удовлетворяющий вопросу. Но насколько он там "кратчайший" х.з. но на глаз и вижу и короче? Если не найдёшь я могу выложить пример

Ответить

Номер ответа: 9
Автор ответа:
 LeX



ICQ: 301424893 

Вопросов: 28
Ответов: 277
 Web-сайт: www.vbkoders.info
 Профиль | | #9
Добавлено: 24.06.06 19:20
http://vbkoders.info/gate.html?name=Forums&file=viewtopic&t=110#862
Там есть пример игры. Цель построить такой лабиринт, чтобы жучок бегал по нему как можно дольше. Идет жучок по самому короткому пути (во всяком случае должен). Исходник есть только к первой версии...

Ответить

Номер ответа: 10
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #10 Добавлено: 24.06.06 20:12
http://vbstreets.ru/VBdotNET/Sources/65847.aspx
vb.net 2003

Ответить

Номер ответа: 11
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #11 Добавлено: 24.06.06 20:14
http://theory.stanford.edu/~amitp/GameProgramming/
Описание A* Algorithm. На английском

Ответить

Номер ответа: 12
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #12 Добавлено: 24.06.06 20:14
HACKER
буду весьма признателен...
eros@fromru.com

Ответить

Номер ответа: 13
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #13 Добавлено: 24.06.06 20:19
 LeX
вот по типу этой игры я и делаю.. сыну в школе по информатике задали, вот я и решил помочь, сделать на VB 2005
А тот пример я смотрел.. :-))) даже улыбнулся...
не хочу обижать автора той игры, но там все через одно место сделано..

Ответить

Номер ответа: 14
Автор ответа:
 LeX



ICQ: 301424893 

Вопросов: 28
Ответов: 277
 Web-сайт: www.vbkoders.info
 Профиль | | #14
Добавлено: 24.06.06 20:41
2HACKER
И мне тоже можно:) Я думал тот пример нормальный... Покажу ему пример HACKER'а:) Может его и оставим:)

Ответить

Номер ответа: 15
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #15 Добавлено: 24.06.06 22:25
vb.hut1.ru/ai.rar

вообще то что там, это не лаберинт, но мож алгоритм посмотриш...

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам