Генератор случайных карт подземелья по клеткам
Ваши данные
Зерно и есть карта. Одно и то же число всегда рисует одно и то же подземелье, поэтому понравившаяся карта не теряется из-за лишнего клика, и передать её можно, отправив число, а не картинку.
Каждая комната достижима из любой другой. Коридоры не разбросаны наугад: они следуют минимальному остовному дереву по центрам комнат, и именно это делает изолированную комнату невозможной, а не просто маловероятной.
Ваше подземелье
| Запрошено комнат | — |
| Комнат поместилось | — |
| Доля сетки, занятая полом, в процентах | — |
| Можно ли пройти из любой комнаты в любую другую | — |
Последняя строка проверяется на самом чертеже, а не обещается методом. Каждый раз при отрисовке страница заливает коридоры от первой комнаты и считает, скольких она достигает. Если это число когда-нибудь перестанет совпадать, строка выше скажет об этом, а не скроет.
Запрос большего числа комнат, чем вмещает сетка, не падает с шумом. Генератор просто перестаёт находить места, поэтому число поместившихся комнат стоит рядом с тем, которое вы запросили. Более крупная сетка или меньше комнат — вот что это исправляет.
Может ли комната оказаться изолированной, без входа?
Нет, и не потому, что это маловероятно, а из-за того, как выбираются коридоры. Они следуют минимальному остовному дереву по центрам комнат, что для n комнат даёт ровно n-1 коридор и гарантирует путь между любыми двумя.
Страница тоже не принимает это на веру. При каждой отрисовке она заливает коридоры от первой комнаты, считает достижимые и показывает результат. Проверено на 400 разных зёрнах — ни одной изолированной комнаты.
Для чего нужно зерно?
Зерно и есть карта. Одно и то же число всегда рисует одно и то же подземелье, поэтому вы можете вернуться к понравившейся карте и поделиться ею, отправив число, а не картинку.
Без него ещё один клик уничтожил бы карту, которая у вас была, и вернуться было бы некуда. Смените число — получите другое подземелье; сохраните его — получите то же самое на любом устройстве.
Почему комнат вышло меньше, чем я просил?
Потому что они перестали помещаться. Комнаты ставятся так, чтобы никогда не касаться друг друга и края, и на маленькой сетке свободное место кончается задолго до вашего числа.
Страница показывает рядом, сколько вы запросили и сколько поместилось, вместо того чтобы втискивать комнаты ради вашего числа. Более крупная сетка или меньше комнат — вот решение.
| Сетка | Запрошено комнат | Комнат поместилось |
|---|---|---|
| 20 x 15 | 30 | 3 |
| 24 x 18 | 25 | 6 |
| 48 x 32 | 30 | 24 |
| 90 x 70 | 30 | 30 |
Хорошо ли печатается карта?
Она сделана для печати: карта сохраняет белый фон и тёмные линии, какой бы теме ни следовал остальной сайт, потому что тёмная карта тратит чернила и выходит нечитаемой на бумаге.
Это векторная графика, а не картинка, поэтому она остаётся чёткой при любом размере бумаги. Комнаты пронумерованы, чтобы вы могли показать за столом, в какой из них находится группа.
Реакции
0
0 Комментарии
Прокомментируйте первым