JavaScript - Клеточный автомат — различия между версиями

Материал из Department of Theoretical and Applied Mechanics
Перейти к: навигация, поиск
Строка 4: Строка 4:
 
Данная страница содержит ссылки на различные версии постепенно развивающейся реализации [http://ru.wikipedia.org/wiki/Клеточный_автомат клеточного автомата] на языке JavaScript, а также описание каждой версии.
 
Данная страница содержит ссылки на различные версии постепенно развивающейся реализации [http://ru.wikipedia.org/wiki/Клеточный_автомат клеточного автомата] на языке JavaScript, а также описание каждой версии.
  
== [[CelAut v1]] ==
+
== CelAut v1 ==
 
[[CelAut v1|Программа CelAut v1]]
 
[[CelAut v1|Программа CelAut v1]]
  
Строка 19: Строка 19:
 
''Примечание:'' При использовании геномов '''L:001100000''' и '''B:000100000''' получается классическая игра [http://ru.wikipedia.org/wiki/Жизнь_(игра) "Жизнь"] Джона Конвея.
 
''Примечание:'' При использовании геномов '''L:001100000''' и '''B:000100000''' получается классическая игра [http://ru.wikipedia.org/wiki/Жизнь_(игра) "Жизнь"] Джона Конвея.
  
== [[CelAut v2]] ==
+
== CelAut v2 ==
  
 
[[CelAut v2|Программа CelAut v2]]
 
[[CelAut v2|Программа CelAut v2]]

Версия 22:56, 12 апреля 2014

Кафедра ТМ > Программирование > Интернет > JavaScript > Клеточный автомат


Данная страница содержит ссылки на различные версии постепенно развивающейся реализации клеточного автомата на языке JavaScript, а также описание каждой версии.

CelAut v1

Программа CelAut v1

Базовая реализация двухмерного клеточного автомата.

  • Используется окрестность Мура первого порядка - состояние каждой клетки зависит от восьми клеток вокруг.
  • Установлены периодические граничные условия - клетка, находящаяся на краю поля взаимодействует с клетками на противоположном краю. По сути, получается поверхность тора.
  • Правила работы автомата задаются геномами L и B. Размер генома равен количеству различных вариантов состояний клеток в окрестности рассматриваемой клетки. В окрестности Мура возможно 9 вариантов - от 0 до 8 живых клеток вокруг нашей клетки.
    • L описывает поведение живой клетки на следующем шаге. Например, геном L:110000000 означает, что клетка выживет, если рядом с ней будет находиться 0 или 1 живых клеток.
    • B описывает, зародится ли жизнь в неживой клетке на следующем шаге. Например, геном B:001000000 означает, что в неживой клетке зародится жизнь, если рядом будет находиться 2 живые клетки.
  • Добавлена кнопка паузы для остановки/запуска клеточного автомата.
  • Поле клеточного автомата генерируется случайным образом при запуске автомата.

Примечание: При использовании геномов L:001100000 и B:000100000 получается классическая игра "Жизнь" Джона Конвея.

CelAut v2

Программа CelAut v2

  • Добавлена возможность добавлять живые клетки левой клавишей мыши и убирать правой.
  • Добавлена кнопка "Следующий шаг".
  • В коде добавлены функции управления работой автомата.