Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.01.2012, 14:51
artcraft вне форума Посмотреть профиль Отправить личное сообщение для artcraft Посетить домашнюю страницу artcraft Найти все сообщения от artcraft
  № 11  
Ответить с цитированием
artcraft
 
Аватар для artcraft

блогер
Регистрация: Aug 2005
Адрес: www.artcraft.cz
Сообщений: 1,967
Записей в блоге: 6
Отправить сообщение для artcraft с помощью ICQ
Цитата:
Сообщение от ProxyGreen Посмотреть сообщение
Хмм... Лабиринт ведь концептуально состоит из: начала, конца, коридоров, поворотов, развилок/перекрёстков и тупиков. Можно сначала рандомно выстроить истинный путь, без тупиков, а потом достроить тупиковые ветки. Так можно будет отделить модель лабиринта от его представления. Нарисовать круглый лабиринт например. Или нет?
трудность в том что мы имеем дело с двухмерным лабиринтом, например если есть вот такой коридор:
Код:
 _ _
|   | |
| | | |
| |х| |
| |_ _|
то в точке х не получится добавить новый закоулок, там для этого просто нету места
__________________
Хороший отдых - половина работы.

Старый 04.01.2012, 15:16
crazyone вне форума Посмотреть профиль Отправить личное сообщение для crazyone Найти все сообщения от crazyone
  № 12  
Ответить с цитированием
crazyone
 
Аватар для crazyone

блогер
Регистрация: Nov 2007
Адрес: Киев
Сообщений: 557
Записей в блоге: 2
А зачем в точке х добавлять закоулок? Нужно добавлять закоулки там, где не занято.
__________________
aka doctorstal

Старый 04.01.2012, 15:50
artcraft вне форума Посмотреть профиль Отправить личное сообщение для artcraft Посетить домашнюю страницу artcraft Найти все сообщения от artcraft
  № 13  
Ответить с цитированием
artcraft
 
Аватар для artcraft

блогер
Регистрация: Aug 2005
Адрес: www.artcraft.cz
Сообщений: 1,967
Записей в блоге: 6
Отправить сообщение для artcraft с помощью ICQ
Цитата:
Сообщение от crazyone Посмотреть сообщение
А зачем в точке х добавлять закоулок? Нужно добавлять закоулки там, где не занято.
если изначально принять решение что мне нужен лабиринт размерами 8х8 в котором будет 7 перекрёстков, 25 поворотов, 3 способа решения, 6 тупиков, и расстояние от входа до выхода минимум 40 шагов, то нет гарантии что такой лабиринт вобще возможно создать

рано или поздно всё может упереться в то что в точке х невозможно добавить закоулок
__________________
Хороший отдых - половина работы.


Последний раз редактировалось artcraft; 04.01.2012 в 15:56.
Старый 05.01.2012, 16:27
Parez вне форума Посмотреть профиль Отправить личное сообщение для Parez Найти все сообщения от Parez
  № 14  
Ответить с цитированием
Parez

Регистрация: Nov 2010
Адрес: Ярославль
Сообщений: 249
Цитата:
Сообщение от wvxvw Посмотреть сообщение
EDIT: Еще подумалось о алгоритме: берем перлин шум, и с его помощью изначально заполняем доску, проверяем решаемость, если решается, добавляем еще шум, и так по кругу. Можно еще какую-инбудь логистику добавить, чтобы, например, если есть почти решаемый вариант, убирать ранее добавленный шум так, чтобы вариант становился решаемым, и добавлять шум еще раз.
На счёт заполнение доски с помощью шума не совсем понятно... Шум же имеет плавные переходы, а здесь всё должно быть чётко.

Пока реализовал алгоритм генерации с помощью Depth-first search из википедии. В принципе, уже нормально. Единственное, что не устраивает - у лабиринта только одно решение и нет лупов. В принципе, это можно исправить убрав некоторые стены, но возникает вопрос - какие именно стены следует убирать?

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:30.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
maze , лабиринт

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 02:30.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.