Структура данных для случайного мира

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

Я использую C ++ (что на самом деле не имеет значения, я мог бы реализовать любую необходимую структуру данных). Сначала я подумал об использовании своего рода ориентированного графа, в котором каждый узел будет направлять ребра в каждую окружающую его ячейку, но это, вероятно, не сработает, если пользователь найдет место в мире, вернется и вернется к нему. пятно с другого направления. Мир может делать некоторые странные вещи, например, генерировать две ячейки в одном месте.

Есть ли идеи о том, какая структура данных может быть наиболее эффективной в такой ситуации? Или я делаю что-то действительно глупое со своим случайным созданием мира?

Любая помощь будет принята с благодарностью. Спасибо, Крис

8
задан Chris Covert 22 October 2010 в 16:55
поделиться