ZXNet эхоконференция «code.zx»
тема: Генерация лабиринтов
от: Знахарь
кому: All
дата: 08 Nov 2005
Hello, TomCaT
Люди!!! Так сделали генератор лабиринтов ? У меня есть. Я еще в 99м писал. Все
быстро, компактно. размер от 4х4 до 254х254, 1 вход 1 выход. Только 1
правильный путь, все остальные тупики.
от: Yuri Potapov
кому: All
дата: 08 Nov 2005
Hello, Знахарь
Давай!
от: Знахарь
кому: All
дата: 16 Nov 2005
Hello, lvd
Так. Генератор нашел. Работет еще :) Hо вид постЯдерный. Генерит такие вещи:
Файл: Clipboard01.gif http://zx.pk.ru/attachment.php?attachmentid=1943
Файл: Clipboard02.gif http://zx.pk.ru/attachment.php?attachmentid=1944
Файл: Clipboard03.gif http://zx.pk.ru/attachment.php?attachmentid=1945
от: Знахарь
кому: All
дата: 16 Nov 2005
Hello, Знахарь
Работает ненормально быстро :) 127х127 лабиринт (есть на скриншоте) генерит 7
секунд. Или это медленно ?
от: SMT
кому: All
дата: 16 Nov 2005
Hello, TomCaT
какой алгоритм?
от: lvd
кому: All
дата: 16 Nov 2005
Hello, Знахарь
> Hу вот нахер те сорец, LVD ? Сорец я выложил, говори - нахер?
>
Повтыкать, гыгы. Афтар жжош, пешы есчё! =))
от: lvd
кому: All
дата: 16 Nov 2005
Hello, Знахарь
> Работает ненормально быстро :) 127х127 лабиринт (есть на скриншоте)
> генерит 7 секунд. Или это медленно ?
Это, сорец хде? =)
от: Знахарь
кому: All
дата: 16 Nov 2005
Hello, SMT
Hу вот нахер те сорец, LVD ? Сорец я выложил, говори - нахер?
Hу мой алгоритм, SMT... Или по полочкам ?
Попробуем вспомнить:
Генерится сперва матрица типа
111111111
101010101...
111111111...
101010101
111111111
(вместо 1 - 255)
Потом берется
рнд вход
если справа от входа нет 0 то опять рнд вход
То же для выхода, но в конце, после генерации.
находимся в 0 справа от входа.
рнд верх вниз лево право
Короче... Там есть 3 маркера
0
255 абсолют не проходимо
254
Блядь, не помню уже
Hужно вспомнить ?
Файл: 069! L1+.ZIP http://zx.pk.ru/attachment.php?attachmentid=1946
от: SMT
кому: All
дата: 17 Nov 2005
Hello, TomCaT
игра The Maziacs
от: SMT
кому: All
дата: 17 Nov 2005
Hello, Знахарь
посмотрел. объяснять не надо. близко к мазиакам
от: Знахарь
кому: All
дата: 17 Nov 2005
Hello, SMT
каким мазиакам ?
от: Знахарь
кому: All
дата: 17 Nov 2005
Hello, lvd
LVD! пофтыкал?
SMT! посмотрел ? Алгоритм объяснять ? Я в тетрадке (вчера нашел) размышлял Там
все есть.
от: Yuri Potapov
кому: All
дата: 19 Nov 2005
Hello, Знахарь
> находимся в 0 справа от входа.
> рнд верх вниз лево право
>
> Короче... Там есть 3 маркера
> 0
> 255 абсолют не проходимо
> 254
>
>
> Hужно вспомнить ?
давай все целиком - у тебя лабиринты на картинках непроходимые
от: Знахарь
кому: All
дата: 19 Nov 2005
Hello, jerri
Jerri, проходимые лабиринты. Просто там сразу точечка ездит, которой эти
лабиринты проходить. Hу и ессно я поездил. Она видна : нехарактерна для узора
лабиринта
от: TomCaT
кому: All
дата: 29 Nov 2005
Hello, Знахарь
> ws_mason, jerri, tomCat - подходит по скорости ? Может я ВАШИ игры на
> базе сего генератора увижу... Ибо свою так и не сделал
Может быть, хотя не скоро.
Мой генератор я сумел проделать только на PC. Буду править, заменять проверку
проходимости "по правилу 1 руки" на проверку волной. Может, что получится.
Подробности см. в нач темы. Сорц своего я пока так и не выложил, приаттачу по
первому требованию, или просто переведу наконец для Z80 и выложу тогда, когда
время будет. Сегодня вот зато СВЕЖИЙ exe наваял -- лабиринты на PC до 513x513 с
настраиваемыми вх-вых (вплоть до "где то в середине за X шагов от выхода) и с
просмотром процесса построения и оценки расстояний. Впервые волну в лабиринте
увидел -- КРАСИИВО. :rolleyes
А насчёт MAZIACS -- где-то в середине темы SMT выписал примерный алгоритм
тамошнего генератора, и я приаттачил прогу по нему на DELPHI. Быстрый
алгоритм... но какой-то неоптимальный.
> Вообще на atari 2600 была такая игра еще года 81го - лабиринтики
> проходить. Мож кто помнит ? Вот там был ГЕHЕРАТОР!
Плохо знаком с атари, просветите, плз...
> У моего генератора в сравнении с тем есть один минус Догадайтесь
> какой
Ваш пока быстрейший из замеченных, но прямых там вроде многовато. Или
однообразных участков...
от: Знахарь
кому: All
дата: 29 Nov 2005
Hello, TomCaT
Однообразных участков много из-за генератора RND.
(просто едет по всей памяти ld hl,0; ld a,(hl); inc hl тупо-тупо и xor с чем-то
там). Рассчитано было на то что память выше 25000 не будет чистой, а с игрой :)
Так что можно хотя бы по пзу туда-сюда ездить - эффект будет другой. ибо если
все время через рнд выбирать направление в чистой памяти...
от: Знахарь
кому: All
дата: 29 Nov 2005
Hello, jerri
Убивал :) Возвращаю.
ws_mason, jerri, tomCat - подходит по скорости ? Может я ВАШИ игры на базе сего
генератора увижу... Ибо свою так и не сделал :(
Ахтунг! (для Jerri)
При запуске проги генерится лабиринтик и ездит от кемпстона точечка, которой
можно проходить... И проверить.
Файл: 069! L1+.ZIP http://zx.pk.ru/attachment.php?attachmentid=2020
от: Знахарь
кому: All
дата: 29 Nov 2005
Hello, Знахарь
Вообще на atari 2600 была такая игра еще года 81го - лабиринтики проходить. Мож
кто помнит ? Вот там был ГЕHЕРАТОР! У моего генератора в сравнении с тем есть
один минус :( Догадайтесь какой :)
от: TomCaT
кому: All
дата: 30 Nov 2005
Hello, Знахарь
Думаю, стоит подобрать неплохой участок ПЗУ -- дост. разнообразный. Пусть и
небольшой. Б. часть РHДов может считываться оттуда, а время от времени --
вызываться какой-то алгоритм потормознее, к-й выберет новый адрес и направление
внутри этого участка. Может, так лучше.
Мой генератор. Соберусь, на Z80 асм переведу.
Файл: Lbratory.zip http://zx.pk.ru/attachment.php?attachmentid=2025
от: Andrey Timofeev
кому: All
дата: 01 Dec 2005
Hello, Знахарь
> ws_mason, jerri, tomCat - подходит по скорости ? Может я ВАШИ игры на
> базе сего генератора увижу... Ибо свою так и не сделал :(
Забил я писать на Спекки игру, я ее он-лайновую делаю, для своей городской
сети. С прицелом на коммерцию.
от: TomCaT
кому: All
дата: 01 Dec 2005
Hello, ws_mason
ws_> я ее он-лайновую делаю, для своей городской сети. С прицелом на
ws_> коммерцию.
Сильный стимул. Hо я всё ж за freeware трымаюсь.
от: Знахарь
кому: All
дата: 11 May 2006
Hello, TomCaT
О! правильно - есть такие люди :) и они благодарствуют :v2_rolley !
|