![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| ILyAHA |
|
|||
![]() Гламурный хакер ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 30.3.2007 Где: Ярославская обл. г.Рыбинск Репутация: нет Всего: 3 |
Мне попался вот такой курсовик:
далее собственно сабж... Есть идея по реализации с помощью графа. за вершины можно брать сектора в кольцеобразных помещениях, ограниченные стенами. а двери - ребрами. но тут уже встаёт о реализации практически.... писать буду на msvs2005 Это сообщение отредактировал(а) ILyAHA - 16.5.2008, 18:02 --------------------
<sсriрt>alert('xss')</sсriрt> |
|||
|
||||
| Rififi |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 11 Всего: 36 |
хороший повод изучить Boost Graph Library
|
|||
|
||||
| ILyAHA |
|
|||
![]() Гламурный хакер ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 30.3.2007 Где: Ярославская обл. г.Рыбинск Репутация: нет Всего: 3 |
Rififi, как работать с графами я умею. Главная проблема в том, по каким данным его составлять.
Я незнаю то, какие структуды данных должны быть, чтобы легче было работать с отрисовкой на экран всего лабиринта и строить граф по этим структурам... Вот картинка с лабиринтом : ![]() Примеры приветствуются Это сообщение отредактировал(а) ILyAHA - 17.5.2008, 15:37 --------------------
<sсriрt>alert('xss')</sсriрt> |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
если представить, что все двери закрыты, получим набор изолированных комнат - это наши вершины
ну и + ещё окружающее пространство - тоже, в некотором смысле, комната а двери - рёбра графа -------------------- qqq |
|||
|
||||
| ILyAHA |
|
|||
![]() Гламурный хакер ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 30.3.2007 Где: Ярославская обл. г.Рыбинск Репутация: нет Всего: 3 |
maxim1000, у меня такая идея и была делать. я о ней даже написал в начале темы....
лучше по всяких структурам подскажите что-нить тогда... Это сообщение отредактировал(а) ILyAHA - 17.5.2008, 17:41 --------------------
<sсriрt>alert('xss')</sсriрt> |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
нннда... невнимательно прочитал насколько я понял, на входе у нас массивы перегородок для каждого кольца и массивы дверей для каждой стенки между соседними кольцами? тогда из массива перегородок естественным образом получается массив комнат: i-я комната - между i-й и i+1-й перегородкой (после последней идёт первая) т.е. набор вершин получается сразу потом нужно написать функцию, которая по координате двери определит индексы двух комнат, которые она соединяет проходимся этой функцией по всем дверям - получаем рёбра - пары индексов вершин графа дальше ищем путь на этапе работы с кольцами/комнатами/дверями можно просто оперировать массивами координат (полярных), тогда одна координата (расстояние) будет означать номер кольца, а вторая (угол) расположение перегородки/двери внутри кольца на этапе работы с графом, например, для каждой комнаты хранить список соседних хотя тут, конечно, большое разнообразие возможных структур -------------------- qqq |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |