Элементарный клеточный автомат
Работая над игрой «Жизнь», я заинтересовался клеточными автоматами и нашёл ещё один интересный пример — элементарный клеточный автомат. Согласно Википедии, «…элементарный клеточный автомат — это одномерный клеточный автомат с двумя возможными состояниями (обозначаемыми 0 и 1), в котором правило определения состояния клетки в следующем поколении зависит только от текущего состояния самой клетки и двух её ближайших соседей». Вроде бы совсем просто. Но для меня как начинающего программиста это оказалось непростой задачей и привело к новым знаниям и пониманию происходящего. Здесь 255 различных правил вместо трёх, как в «Жизни», но они не применяются одновременно — одно правило на один автомат. Большой список всех правил можно найти здесь. Самые интересные я использовал в своём проекте. Сам по себе автомат довольно скучный, поэтому я добавил немного цвета.
Исходный код, как всегда, на моём GitHub: SOURCE