IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Обход двумерной матрицы
Cheburashka
сообщение 5.06.2010 8:51
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 195
Пол: Мужской
Реальное имя: Сергей

Репутация: -  2  +


В общем хочу написать код, который давал бы путь перехода из точки А в точку В.
На процедуру посылаются значения точек (x1,y1,x2,y2:byte).
Матрица сама по себе небольшая (не больше 15 клеток, а то и меньше). Я пытался сделать, но получились лишь куски кода, в которых я ищу где находится вторая точка относительно первой (сверху, снизу, снизу слева). А также 4 процедурки движения (если вверху точка, идем вверх).

НО! Есть небольшое "но" smile.gif .
Движение нельзя совершать по диагонали. И на пути могут быть преграды. Помогите пожалуйста. Если нужно напишу то, что у меня есть. smile.gif

P.S. Извиняюсь, если подобная проблема решалась раньше.


--------------------
♣♣♣
"Себя великим не считай, гордясь величьем предков,
Величья не добудешь ты и золота ценою!
Хоть светит на небе луна, но отраженным светом -
Чужою славой не живи, не будь второй луною!!!"
♣♣♣
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Lapp
сообщение 9.06.2010 3:13
Сообщение #2


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Сергей Меркурьев @ 8.06.2010 12:08) *
Игра Lines (может быть слышали). У меня практически все есть, кроме алгоритма обхода матрицы.
Слышали )).
Алгоритм обхода в этой игре составляет одну из основных частей. Помню, я писал когда-то Xonix (про нее вряд ли кто слышал, ее забыли, а зря..), и это был мой первый опыт с персоналками вообще (Электроника НЦ-80, кажется - копия DEC Pro 350, 8 бит, 512К, HD 5 MB, ОS RSX-11). Писалось на Basic'е. Когда отрезался кусок площади и шла проверка на связность - можно было смело идти пить чай )). Крайне неудачно сделал (некоей псевдо-рекурсией), можно было сильно ускорить.. но работало! ))

Сергей, не мучайся: просто гони волну smile.gif (типо каламбур)). Это в твоем случае самое лучшее. Волновой алгоритм очень прост в реализации и работать будет как из пушки. Если что-то непонятно - пиши, поможем.

Цитата(TarasBer @ 8.06.2010 12:22) *
ГРАФА, а не матрицы! Нету такого термина, как "обход матрицы".
Тарас, ну че пристал? это не термины, это простое словосочетание. Нет никакой разницы, как это называть (в данном случае).

Цитата
Вот пример программы (для турбопаса)
Кэштмэрррт.. shok.gif
Здравствуй, гость из прошлого! поди, посиди на лавочке...

Где мне ее запущать прикажешь?? blink.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Сергей Меркурьев   Обход двумерной матрицы   5.06.2010 8:51
Гость   на пути могут быть преградыВот это - ключевой моме...   5.06.2010 9:01
Сергей Меркурьев   В общем двумерная матрица будет размером 9*9. При...   5.06.2010 9:06
Сергей Меркурьев   Посоветуйте что-нибудь пожалуйста :)   5.06.2010 17:56
Client   самое простое - идти буквой "Г" по одной...   5.06.2010 20:26
Сергей Меркурьев   Вот, что по поводу посложнее у меня и не получаетс...   5.06.2010 20:31
Client   при движении возможно только четыре варианта - впе...   5.06.2010 20:38
Сергей Меркурьев   В принципе все наработки моей программы только лиш...   5.06.2010 20:41
Client   думаю, что сворачивать стоит в ту сторону, ближе к...   5.06.2010 20:43
Сергей Меркурьев   Хорошо, надо будет попробовать. Если что-то будет ...   5.06.2010 20:58
TarasBer   > самое простое - идти буквой "Г" по ...   7.06.2010 11:55
Сергей Меркурьев   А причем тут графы?   7.06.2010 16:04
TarasBer   А причём тут матрицы? В условии задан лабиринт. А ...   7.06.2010 16:09
Сергей Меркурьев   С графами я к сожалению, не знаком... А вот с матр...   7.06.2010 16:11
Lapp   С графами я к сожалению, не знаком... А вот с матр...   7.06.2010 23:52
Сергей Меркурьев   А по времени, что будет быстрее? К примеру обычный...   8.06.2010 7:48
Lapp   А по времени, что будет быстрее? К примеру обычный...   8.06.2010 8:54
Сергей Меркурьев   По сути дела препятсвия могут быть в любой клетке,...   8.06.2010 11:08
TarasBer   > кроме алгоритма обхода матрицы. ГРАФА, а не ...   8.06.2010 11:22
Lapp   Игра Lines (может быть слышали). У меня практическ...   9.06.2010 3:13
TarasBer   > Кэштмэрррт.. Здравствуй, гость из прошлого...   9.06.2010 9:30


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 6.07.2025 19:40
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"