User Tag List

Страница 5 из 10 ПерваяПервая 123456789 ... ПоследняяПоследняя
Показано с 41 по 50 из 91

Тема: Генерация лабиринтов

  1. #41

    Регистрация
    16.01.2005
    Адрес
    Бобруйск
    Сообщений
    1,267
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri
    а если вот такой алгоритм? тоже должен быть эффективным
    это пересказ моего АБ-алгоритма для лабиринтов типа 1. если правильно сделать выбор клеток, будет быстро. но, в отличии от maziacs, прямые корридоры будут короткие (сплошной random, нет походов по прямым)

  2. #42

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В 3д лабиринте генератор смотрел?

    порыскал в инете в принципе генераторов лабиринта не так уж и много
    и в основном ссылаются на алгоритм Крускала

    а если строить лабиринт из готовых кусков 3*3 это будет быстрее?
    Последний раз редактировалось jerri; 15.09.2005 в 09:43.
    С уважением,
    Jerri / Red Triangle.

  3. #43

    Регистрация
    12.04.2005
    Адрес
    Lesosibirsk
    Сообщений
    31
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А еще можно наготовить стандартных лабиринтиков 3х3, 4х4, 5х5, ловшук, спиралей и все это в случайном порядке друг на друга и на общее поле.

  4. #44

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ws_mason
    А еще можно наготовить стандартных лабиринтиков 3х3, 4х4, 5х5, ловшук, спиралей и все это в случайном порядке друг на друга и на общее поле.

    так собсно и предлягаю но после того как закончится такая прегенерация необходимо обработку провести уже по крускалу чтобы лабиринт связанный был

    а волну можно с помощью конвейера гнать - быстрее получится
    (подробнее том элементарная графика инфоркома)

    тож про лабиринты
    Последний раз редактировалось jerri; 15.09.2005 в 10:19.
    С уважением,
    Jerri / Red Triangle.

  5. #45

    Регистрация
    25.06.2005
    Адрес
    Одесса
    Сообщений
    1,821
    Спасибо Благодарностей отдано 
    67
    Спасибо Благодарностей получено 
    74
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Прежний заголовок

    Цитата Сообщение от SMT
    ещё не забудь, что куча обращений типа A[x+1,y-2] на самом деле кишит остатками от деления на размер лабиринта (mod 64)

    а насчёт начального квадрата, почему он кодируется кодом #80, а не #00?
    Ничего не забуду. Общее оформление вот счас сделал, теперь алгоритм странслирую на Pascal, а там и экзешник сюда выложу.

    Цитата Сообщение от jerri
    чего то у мя игра виснет не запускается
    игра ок. 20 кб, бейсик-коды в виде блока кодов, с дискеты как обычно грузятся в память повыше, а потом перемещаются на адрес 23296 (16384, не помню в оющем). В процессе перемещения могут быть убиты сиспеременные памяти 128-ых и старше. Поэтому запускайся в режиме 48.

    А если и там не будет пахать, то где-то у меня z80-образ завалялся. Подойдёт?
    Последний раз редактировалось TomCaT; 15.09.2005 в 16:45. Причина: Ерунду написал
    Помни. Только на компьютере можно семь раз Cut, а один - Format. В реале все иначе. (c)
    Власть людей сильнее, чем люди у власти.
    Чем меньше мы смотрим на мир, тем больше задумываемся о нем. (c)

    Скрытый текст

    Can you help Robin in his quest for the silver arrow? (c) Odin "Robin of the Wood"
    Мы все немного режем по дереву, а потом собираем корабли в бутылках.
    Is it the same old story you are going to tell me
    or is it the old story telling me and you we are the same?
    http://www.sky.od.ua/~ptsk
    [свернуть]


  6. #46

    Регистрация
    25.06.2005
    Адрес
    Одесса
    Сообщений
    1,821
    Спасибо Благодарностей отдано 
    67
    Спасибо Благодарностей получено 
    74
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SMT
    пока не (ХодилиВлево и ХодилиВправо и ХодилиВверх и ХодилиВниз)
    {
    дистанция = 2+random(4);
    выбрать_напр:
    напр = random(4);
    switch (напр) {
    case 0:
    если (ХодилиВлево) goto выбрать_напр;
    for i=1 to дистанция
    {
    если (A[x-2,y]!=#FF или A[x-1,y]!=#FF или
    A[x-2,y-1]!=#FF или A[x-1,y-1]!=#FF или
    A[x-2,y+1]!=#FF или A[x-1,y+1]!=#FF)
    {
    ХодилиВлево = да;
    goto выбрать_напр;
    }
    иначе
    {
    x=x-1; A[x,y] = 0;
    дистанция=дистанция-1;
    если (дистанция == 0) break; // внутренний for (;
    }
    }
    break;
    Странная запись. SMT, перепроверь, плз, куда ведут все Break внутри большого Switch. М/б, некоторые из них Continue. А то выходит, что цикл

    пока не (ХодилиВлево и ХодилиВправо и ХодилиВверх и ХодилиВниз)

    всегда выполняется только 1 раз. Тогда смысл этого цикла?
    Помни. Только на компьютере можно семь раз Cut, а один - Format. В реале все иначе. (c)
    Власть людей сильнее, чем люди у власти.
    Чем меньше мы смотрим на мир, тем больше задумываемся о нем. (c)

    Скрытый текст

    Can you help Robin in his quest for the silver arrow? (c) Odin "Robin of the Wood"
    Мы все немного режем по дереву, а потом собираем корабли в бутылках.
    Is it the same old story you are going to tell me
    or is it the old story telling me and you we are the same?
    http://www.sky.od.ua/~ptsk
    [свернуть]


  7. #46
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #47

    Регистрация
    16.01.2005
    Адрес
    Бобруйск
    Сообщений
    1,267
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Странная запись. SMT, перепроверь, плз, куда ведут все Break внутри большого Switch
    сишный синтаксис. брейки относятся к switch. а так как после него сразу конец цикла, то от замены их на continue ничего не изменится

    вот такая жуткая смесь си, паскаля и великого могучего...
    Последний раз редактировалось SMT; 15.09.2005 в 17:38.

  9. #48

    Регистрация
    25.06.2005
    Адрес
    Одесса
    Сообщений
    1,821
    Спасибо Благодарностей отдано 
    67
    Спасибо Благодарностей получено 
    74
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Алгоритм MAZIACS LabGen на Delphi 6

    Цитата Сообщение от SMT
    ну что, смогёт кто-нить накодить это для windows-графики, чтобы проверить?
    Готово. Вот архивчик с исходниками и EXE-файлом на случ., если Delphi 6 нету. Оч. интересно на слабых процах при малом лимите времени и если повезёт -- огромные куски массива не вырезаны и остаются монолитной стеной -- самые красивые, но не самые сложные лабиринты. Да, эта проверка переменной Frames в конце алгоритма -- не просто ожидание в 3с. Так как цикл построения вечный, такая проверка позволяет отрегулировать время построения. Ну, нынешним процам на всё-про всё обычно 5мс хватает, а для Z80 это важно! Но алгоритм самый быстрый из того, что я пробовал до сих пор. Обязательно применю и сделаю Лабираторию 2 (Лабиратория 1 -- вариант 2 с подъёмом стенок и проверкой связности. Если кому надо, могу исходник кинуть тут. Или там ). Спасибо, SMT.
    Вложения Вложения
    Последний раз редактировалось TomCaT; 19.03.2011 в 12:39. Причина: Баг с автором цитат на форуме !
    Помни. Только на компьютере можно семь раз Cut, а один - Format. В реале все иначе. (c)
    Власть людей сильнее, чем люди у власти.
    Чем меньше мы смотрим на мир, тем больше задумываемся о нем. (c)

    Скрытый текст

    Can you help Robin in his quest for the silver arrow? (c) Odin "Robin of the Wood"
    Мы все немного режем по дереву, а потом собираем корабли в бутылках.
    Is it the same old story you are going to tell me
    or is it the old story telling me and you we are the same?
    http://www.sky.od.ua/~ptsk
    [свернуть]


  10. #49

    Регистрация
    25.06.2005
    Адрес
    Одесса
    Сообщений
    1,821
    Спасибо Благодарностей отдано 
    67
    Спасибо Благодарностей получено 
    74
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Exclamation А теперь надо бы ещё разобраться с "недеревьями"

    Допустим, есть лабиринт-дерево. В каких местах надо убрать несколько стенок, чтобы правило правой руки не срабатывало всегда при старте в случ. позиции.

    Иными словами, убирается стенка так, чтобы некоторую группу стенок оторвать от общей группы (в лаб.-дереве все стенки соединены). При этом желательно иметь настройки по сложности "отрезанной группы" (чтоб не было отрезанных столбов, к-е за четыре шага обойти можно).

    Можно такой способ - право-левой рукой или волной уходим от некоторой клетки рядом со случайной стенкой, ожидая, пока не окажемся в клетке по ту сторону от стенки, которую хотим убрать. Замеряем путь и убираем стенку, если он не меньше минимально допустимого.

    Но это м/б медленно. Хотелось бы уметь это делать в время или до построения лабиринта.
    Помни. Только на компьютере можно семь раз Cut, а один - Format. В реале все иначе. (c)
    Власть людей сильнее, чем люди у власти.
    Чем меньше мы смотрим на мир, тем больше задумываемся о нем. (c)

    Скрытый текст

    Can you help Robin in his quest for the silver arrow? (c) Odin "Robin of the Wood"
    Мы все немного режем по дереву, а потом собираем корабли в бутылках.
    Is it the same old story you are going to tell me
    or is it the old story telling me and you we are the same?
    http://www.sky.od.ua/~ptsk
    [свернуть]


  11. #50

    Регистрация
    25.06.2005
    Адрес
    Одесса
    Сообщений
    1,821
    Спасибо Благодарностей отдано 
    67
    Спасибо Благодарностей получено 
    74
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SMT
    а насчёт начального квадрата, почему он кодируется кодом #80, а не #00?
    Кстати, понял - чтобы и не стенка, и не проход. Не проход - чтоб из старта не отводить новые пути при случ. поиске начала нового ответвления. Не стенка - чтоб не закрасить его очередным ответвлением.
    Помни. Только на компьютере можно семь раз Cut, а один - Format. В реале все иначе. (c)
    Власть людей сильнее, чем люди у власти.
    Чем меньше мы смотрим на мир, тем больше задумываемся о нем. (c)

    Скрытый текст

    Can you help Robin in his quest for the silver arrow? (c) Odin "Robin of the Wood"
    Мы все немного режем по дереву, а потом собираем корабли в бутылках.
    Is it the same old story you are going to tell me
    or is it the old story telling me and you we are the same?
    http://www.sky.od.ua/~ptsk
    [свернуть]


Страница 5 из 10 ПерваяПервая 123456789 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

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