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

Материал из Department of Theoretical and Applied Mechanics
Перейти к: навигация, поиск
(Перенаправление на Клеточный автомат - версии)
 
(не показаны 2 промежуточные версии этого же участника)
Строка 1: Строка 1:
[[ТМ|Кафедра ТМ]] > [[Программирование]] > [[Программирование и моделирование в Интернет|Интернет]] > [[JavaScript-программирование|JavaScript]] > '''Клеточный автомат''' <HR>
+
#перенаправление [[Клеточный автомат - версии]]
 
 
 
 
Здесь вы можете найти различные версии [http://ru.wikipedia.org/wiki/Клеточный_автомат клеточного автомата] на языке JavaScript, а также описание каждой версии.
 
 
 
== Клеточный автомат v1 ==
 
[[CelAut v1|Программа CelAut v1]]
 
 
 
Самая первая версия программы.
 
 
 
* Состояние каждой клетки на следующем шаге зависит от восьми клеток вокруг - это называется "Окрестность Мура". Почитать поподробнее можно [http://ru.wikipedia.org/wiki/Окрестность_Мура здесь].
 
* На краях стоят периодические условия - клетка, находящаяся на краю поля взаимодействует с клетками на противоположном краю. По сути, получается поверхность тора.
 
* Есть кнопка паузы.
 
* Поле генерируется случайным образом.
 
* Развитие жизни в автомате определяется "геномами" '''L''' и '''B'''. Сейчас геном у всех клеток один и тот же, в дальнейшем у каждой клетки будет свой геном, она сможет мутировать и "бороться" с другими клетками за выживаемость.
 
<toggledisplay status=hide showtext="Как это работает↓" hidetext="Убрать↑" linkstyle="font-size:default">
 
Размер генома равен количеству различных вариантов состояний клеток в окрестности рассматриваемой клетки. В окрестности Мура возможно 9 вариантов - от 0 до 8 живых клеток вокруг нашей клетки.
 
** '''L''' описывает поведение живой клетки на следующем шаге. Например, геном L:110000000 означает, что клетка выживет, если рядом с ней будет находиться 0 или 1 живых клеток.
 
** '''B''' описывает, зародится ли жизнь в неживой клетке на следующем шаге. Например, геном B:001000000 означает, что в неживой клетке зародится жизнь, если рядом будет находиться 2 живые клетки.
 
</toggledisplay>
 
 
 
 
 
''Примечание:'' При использовании геномов '''L:001100000''' и '''B:000100000''' получается классическая игра [http://ru.wikipedia.org/wiki/Жизнь_(игра) "Жизнь"] Джона Конвея.
 
 
 
== Клеточный автомат v2 ==
 
 
 
[[CelAut v2|Программа CelAut v2]]
 
 
 
* Теперь можно добавлять и убирать клетки мышкой (левая клавиша - добавляем, правая - убираем).
 
* Добавлена кнопка "Следующий шаг" - просчитывает один шаг.
 
* Добавлена кнопка "Очистить", очищающая всё поле.
 
* В коде добавлены функции для удобства управления работой автомата.
 
 
 
 
 
== Клеточный автомат v3 ==
 
 
 
[[CelAut v3|Программа CelAut v3]]
 
 
 
* Мутации!
 
 
 
== См. также ==
 
 
 
*[[JavaScript - Цепь]]
 
*[[JavaScript - Balls]]
 
 
 
[[Category: Программирование]]
 
[[Category: JavaScript]]
 

Текущая версия на 01:21, 6 ноября 2014

Перенаправление на: