Мураха Ленгтон на JS і Canvas

    Прочитавши тут пост про цю чудову звірятку (wiki) я подумав, що буде цікаво його реалізувати і за вечір написав його на js + canvas.
Заодно щоб було не нудно додав йому сусідів, вийшло 5 колірних популяцій і обмежене поле, яке породило граничні візерунки.
 
Ну був би мураха і був, але сьогодні запустивши його я зловив дуже цікаве поведінку, жовта популяція в якийсь момент почала методично позбуватися від плодів діяльності рожевою і при цьому не залишати сліди своєї діяльності, мене це зацікавило і я витратив ще пару хвилин спостерігаючи за полем, жовта популяція повністю знищила стартову локацію рожевих, потім повністю само знищилася і почала будувати чудовий новий світ з «0», тобто з 1 жовтого пікселя.
 
Початкова позиція жовтих по центру поля, а захоплена і наново відбудована територія це залишився жовтий блок
 
 
 
Я припускаю що це пов'язано з тим що кожна популяція живе у власному setInterval () і саме це було відправною точкою для створення даної комбінації і далеко не кожен раз таку поведінку можна буде побачити.
 
Хотілося б почути коментарі причини даного явища і способи його повторення.
 
Код та demo Демонстрація http://wrewolf.github.io/LangtonsAntJS/
 
 Зловив ще раз поведінка Початок експансії
 
 
Захоплюємо стан ворога
 
 
Ворог переможений
 
 
Мрія нігіліста майже збулася
 
 
Вже будуємо новий чудовий світ
 
 
Ну і вихід в «тираж»
 
 
П.С.
 
Із задоволенням вислухаю варіанти щодо поліпшення якості життя даних комах.
 
UPD.
Оновив картинки.
    
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.