|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Anton Morozov 2:5051/28.7 17 Jun 2001 20:15:27 To : Anton Gordashevskiy Subject : Генеpатоp лабиpинтов -------------------------------------------------------------------------------- Anton Gordashevskiy писал Sergey Jusupov: SJ>> Как сабж сделать? Хотябы пpимеpно, на словах. SJ>> А если есть исходники, то мне пофиг на коком языке они написаны. Лишь SJ>> бы pаботал. AG> Получается весьма красивый лабиринт с кучей тупиков, аля старенькие AG> игрушки poke-man (или как там, не помню). AG> конечно можно убрать некоторые условия и тп - но это уже фантазируй, мне AG> хватило вечера, пока додумался до этого -) Я делал так. Есть матрица квадратная, ну, как лист бумаги в клетку. Если закрасить все клетки с нечетными обеими координатами, получится сетка точек :) Дальше их соединяешь - закрашиваешь клетки между соседними и т.о. рисуешь лабиринт. Это на бумаге. Hа компе делал так: написал процедуру, которая придумывает линию "от балды" - т.е. ты ей говоришь точку, свободную, она начинает "соединять соседние клетки" в случайных направлениях, пока не напорется на стенку или уже готовый проход. Если напарывается на проход - то подсоединяется к нему. Далее, рисовал эти линии от "старта" и "финиша", пока не получалась одна, соединяющая эти старт и финиш - собсно "основной путь лабиринта :) А остальное пространство заполнял случайно - вызывал эту процедуру для всех точек подряд, пока места свободного не оставалось. Обьяснение путаное, понимаю :) , но за 4 часа написАл прогу с симпатичными сложными лабиринтами и получил зачет по программированию :) Тьма с нами, Anton... --- ANARCHY -(/-\)- * Origin: У меня винт полетел. Весело. Ха-ха. (2:5051/28.7) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/138363b2d2d9d.html, оценка из 5, голосов 10
|