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