Сотовые Автоматы Java (Начинающий)

Я создаю игру по образцу Minicraft. Я разместил вопрос о том, как мне сделать рельеф, похожий на тот, что есть в игре, и пользователь под именем Sinkingpoint разместил ответ, ссылаясь на то, что называется клеточными автоматами.

Я понятия не имел, что это было, не говоря уже о том, как это сделать. Я посмотрел и увидел, что это было. Но мне еще предстоит выяснить, как это сделать. Может кто-нибудь объяснить, как это сделать и как это работает, возможно, ссылку или две или даже некоторые исходные коды / примеры.

2 ответа

Для теории, проверьте http://en.wikipedia.org/wiki/Book:Cellular_Automata. Как только вы поймете, что такое сотовые автоматы в целом, следующим шагом будет поиск источников их применения для генерации ландшафта (довольно нестандартный, но не неслыханный случай использования); Я подозреваю, что первоначальное прочтение теории даст вам хорошее представление о методах реализации.

Формально клеточные автоматы являются подклассом динамической системы, где пространство и время дискретны.

В зависимости от рассматриваемой модели, некоторые свойства могут или не могут применяться:

  • Компонент модели связан регулярным графом, инвариантным относительно перемещения, поворота и т. Д.
  • Дано S пространство состояний, правило обновления является функцией F(S^n) -> S где S^n дается окрестностью клетки.
  • Правило обновления одинаково для всех компонентов.
  • Правило обновления применяется ко всем ячейкам одновременно, создавая состояния t+1 из штатов t,

Как правило, клеточные автоматы являются хорошими моделями для имитации динамического окружения (песок, броуновское движение, лесные пожары), поскольку они допускают большой размер и скорость вычислений благодаря своей предельной простоте.

Если вы хотите войти в мир клеточных автоматов, я рекомендую вам поискать игру "Жизнь от Конвея", найти учебник и реализовать его.

Другие вопросы по тегам