Редактирование: JavaScript - Клеточный автомат
Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
− | + | [[ТМ|Кафедра ТМ]] > [[Программирование]] > [[Программирование и моделирование в Интернет|Интернет]] > [[JavaScript-программирование|JavaScript]] > '''Клеточный автомат''' <HR> | |
+ | |||
+ | Данная страница содержит ссылки на различные версии постепенно развивающейся реализации [http://ru.wikipedia.org/wiki/Клеточный_автомат клеточного автомата], а также описание каждой версии. | ||
+ | |||
+ | |||
+ | == 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 == | ||
+ | |||
+ | * Добавлена возможность добавлять живые клетки левой клавишей мыши и убирать правой. | ||
+ | * Добавлена кнопка "Следующий шаг". | ||
+ | * В коде добавлены функции управления работой автомата. |