Ну, найпростіший спосіб, який я можу придумати, починається з того, щоб переконатися, що всі кімнати з'єднані хоча б одним коридором:
- Почніть з останньої, або першої, кімнати.
- Захопіть випадкову кімнату на відстані 1 відстані, яка ще не підключена до якоїсь кімнати (всі кімнати починають відключатися, тому ви будете вести облік цього, як підете).
- Якщо такої кімнати немає, перейдіть на відстань +1. Якщо нормально тунель над / під іншою кімнатою, це простіше, якщо припустити, що ви не хочете з'єднувати коридори.
- Пропрацюйте свій шлях через псевдовипадкові випадки, поки всі кімнати не з’єднані.
Тепер ми знаємо, що ви можете дістатися до всіх приміщень, але тепер, якщо ви хочете більше, ніж цей суворо лінійний лабіринт, ви можете просто переступити через свої кімнати і навмання зробити новий шлях для підключення кімнат, максимум до 2-3 номерів, або поки певний відсоток номерів не потрапить на максимум з'єднань - тощо.
На завершальному етапі ви можете додати правила, які б змінили ваші результати у відповідних ситуаціях. Наприклад, ви можете помітити, що будь-яке приміщення, що має лише 1 коридор, за визначенням є тупиком; Ви можете зробити більше тупиків, або ви можете усунути їх, переконавшись, що все має принаймні 2 з'єднання. Ви можете зробити так, щоб тупики мали секретний прохід. Ви можете переконатися, що кімната боса - тупик. Ви можете переконатися, що ваша початкова кімната тупикова, але потім переконайтеся, що друга кімната має мінімум X підключень. Ad infinitum.
Кожне припущення та правило можуть докорінно змінити те, як виглядають ваші рівні, але це частина задоволення! Це має принаймні змусити кімнати для вуликів / печер.