Я пытаюсь случайным образом генерировать рельеф для игры таким образом, что объект в позиции x, y
имеет номер типа f(x, y)
(поэтому мне не нужно сохранять значения всех объектов. Я пытаюсь создать среду, как город, с улицами и блоками между нимиСлучайное мировое поколение улиц
. Например:
# # # # # # # # # # # #
# # # # # # # # # # # #
# # # # # # # # # # # #
# # # # # # # # # # # #
# # # # #
# # # # # # # # # # # #
# # # # # # #
# # # # # # # # # # # #
# # # # # # # # # # # #
# # # # # # # # # # # #
# # # # # # # # # # # #
# # # # # # # # # # # #
# # # # # # # # # # # #
я могу генерировать что-то вроде как это в обычной модели, используя f(x, y): (x*y) mod n
, где n
является константой, а полученный фрагмент пуст, если f(x, y) == 0
.
Например, с n
, как 5:
# # # # # # # # # # # #
# # # # # # # # # # # #
# # # # # # # # # # # #
# # # # # # # # # # # #
# # # # # # # # # # # #
# # # # # # # # # # # #
# # # # # # # # # # # #
# # # # # # # # # # # #
# # # # # # # # # # # #
# # # # # # # # # # # #
# # # # # # # # # # # #
# # # # # # # # # # # #
Как я могу изменить свой алгоритм (или получить новый), чтобы получить результаты больше как в первом примере?
Или я об этом совершенно не так?
Поиск генераторов подземелий типа изгоев. Вы должны быть способны адаптировать его к вашим потребностям. Просто замените комнаты-> здания и коридоры-> дороги, и все готово. – Geobits
@Geobits Будут ли работать так, как я хочу, с помощью функции? Поскольку я мог бы создать алгоритм, который строит карту вверх по биту, чтобы быть таким, но тогда это должно было быть все сохранено в памяти, не так ли? – rlms
Нет структур в памяти? Могу ли я спросить, почему? Если вы хотите нарисовать это на экране, вы не захотите запускать 'f (x, y)' для каждого пикселя/блока при каждом обновлении экрана. – Geobits