JavaScript - Клеточный автомат — различия между версиями
Материал из Department of Theoretical and Applied Mechanics
Денис (обсуждение | вклад) (→CelAut v1) |
Денис (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
[[ТМ|Кафедра ТМ]] > [[Программирование]] > [[Программирование и моделирование в Интернет|Интернет]] > [[JavaScript-программирование|JavaScript]] > '''Клеточный автомат''' <HR> | [[ТМ|Кафедра ТМ]] > [[Программирование]] > [[Программирование и моделирование в Интернет|Интернет]] > [[JavaScript-программирование|JavaScript]] > '''Клеточный автомат''' <HR> | ||
+ | |||
Данная страница содержит ссылки на различные версии постепенно развивающейся реализации [http://ru.wikipedia.org/wiki/Клеточный_автомат клеточного автомата] на языке JavaScript, а также описание каждой версии. | Данная страница содержит ссылки на различные версии постепенно развивающейся реализации [http://ru.wikipedia.org/wiki/Клеточный_автомат клеточного автомата] на языке JavaScript, а также описание каждой версии. | ||
− | |||
== [[CelAut v1]] == | == [[CelAut v1]] == | ||
Строка 17: | Строка 17: | ||
''Примечание:'' При использовании геномов '''L:001100000''' и '''B:000100000''' получается классическая игра [http://ru.wikipedia.org/wiki/Жизнь_(игра) "Жизнь"] Джона Конвея. | ''Примечание:'' При использовании геномов '''L:001100000''' и '''B:000100000''' получается классическая игра [http://ru.wikipedia.org/wiki/Жизнь_(игра) "Жизнь"] Джона Конвея. | ||
− | == CelAut v2 == | + | == [[CelAut v2]] == |
* Добавлена возможность добавлять живые клетки левой клавишей мыши и убирать правой. | * Добавлена возможность добавлять живые клетки левой клавишей мыши и убирать правой. | ||
* Добавлена кнопка "Следующий шаг". | * Добавлена кнопка "Следующий шаг". | ||
* В коде добавлены функции управления работой автомата. | * В коде добавлены функции управления работой автомата. |
Версия 22:50, 12 апреля 2014
Кафедра ТМ > Программирование > Интернет > JavaScript > Клеточный автомат
Данная страница содержит ссылки на различные версии постепенно развивающейся реализации клеточного автомата на языке JavaScript, а также описание каждой версии.
CelAut v1
Базовая реализация двухмерного клеточного автомата.
- Используется окрестность Мура первого порядка - состояние каждой клетки зависит от восьми клеток вокруг.
- Установлены периодические граничные условия - клетка, находящаяся на краю поля взаимодействует с клетками на противоположном краю. По сути, получается поверхность тора.
- Правила работы автомата задаются геномами L и B. Размер генома равен количеству различных вариантов состояний клеток в окрестности рассматриваемой клетки. В окрестности Мура возможно 9 вариантов - от 0 до 8 живых клеток вокруг нашей клетки.
- L описывает поведение живой клетки на следующем шаге. Например, геном L:110000000 означает, что клетка выживет, если рядом с ней будет находиться 0 или 1 живых клеток.
- B описывает, зародится ли жизнь в неживой клетке на следующем шаге. Например, геном B:001000000 означает, что в неживой клетке зародится жизнь, если рядом будет находиться 2 живые клетки.
- Добавлена кнопка паузы для остановки/запуска клеточного автомата.
- Поле клеточного автомата генерируется случайным образом при запуске автомата.
Примечание: При использовании геномов L:001100000 и B:000100000 получается классическая игра "Жизнь" Джона Конвея.
CelAut v2
- Добавлена возможность добавлять живые клетки левой клавишей мыши и убирать правой.
- Добавлена кнопка "Следующий шаг".
- В коде добавлены функции управления работой автомата.