Евгений Павлов. Проект "Жизнь" — различия между версиями
(→Результаты) |
(→Результаты) |
||
Строка 22: | Строка 22: | ||
* Два типа частиц | * Два типа частиц | ||
+ | [[Медиа:Vyrus.rar| Скачать exe файл]] | ||
в разработке | в разработке | ||
Описание алгоритма: | Описание алгоритма: |
Версия 12:14, 25 июня 2011
Описание проекта
Проект направлен на разработку методов моделирования эволюционирующих систем на основе игры "Жизнь"....
Результаты
- Стандартный алгоритм игры "Жизнь"
Описание алгоритма:
Место действия этой игры — «вселенная» — это размеченная на клетки поверхность. Каждая клетка на этой поверхности может находиться в двух состояниях: быть живой или быть мёртвой. Клетка имеет восемь соседей. Распределение живых клеток в начале игры называется первым поколением. Каждое следующее поколение рассчитывается на основе предыдущего по таким правилам:
1) пустая (мёртвая) клетка, рядом с которой ровно три живые клетки, оживает;
2) если у живой клетки есть две или три живые соседки, то эта клетка продолжает жить; в противном случае (если соседей меньше двух или больше трёх) клетка умирает (от «одиночества» или от «перенаселённости»).
Игрок не принимает прямого участия в игре, а лишь расставляет начальную конфигурацию «живых» клеток, которые затем взаимодействуют согласно правилам уже без его участия. Эти простые правила приводят к огромному разнообразию форм, которые могут возникнуть в игре.
Простейший алгоритм последовательно просматривает все ячейки решетки и для каждой ячейки подсчитывает соседей, определяя судьбу каждой клетки (не изменится, умрет, родится). Такой простейший алгоритм использует два двумерных массива — один для текущего поколения, второй — для следующего. Более сложный, но и более быстрый алгоритм составляет списки клеток для просмотра в последующем поколении; клетки, которые не могут измениться, в списки не вносятся. Например, если какая-либо клетка и ни одна из ее соседей не поменялись на предыдущем ходу, то эта клетка не поменяется и на текущем ходу.
- Два типа частиц
в разработке
Описание алгоритма: