Комментарии 24
Добавьте возможность кликая по клетке, изменять ее цвет.
0
Да хоть в черный!
0
Вот интересно, а как будет себя вести этот муравей на треугольном и гексагональном поле? А в трех- и многомерных пространствах?
0
ну для 3д пространства нужно вводить правила смены z уровня, а в плоскости можно строить любые эксперименты.
Надо будет тоже попробовать сделать такой вариант, а в js можно сделать это просто через передачу функции валидатора нахождения на игровом поле муравья, только для этого нужно будет все в виде модулей переписать, а не огромной лапши
Надо будет тоже попробовать сделать такой вариант, а в js можно сделать это просто через передачу функции валидатора нахождения на игровом поле муравья, только для этого нужно будет все в виде модулей переписать, а не огромной лапши
0
А что за алгоритм? Я на досуге делал «жизнь» на JS, так она работает на порядок быстрей: осторожно, рекламная ссылка :-). Мне казалось, что между муравьём и жизнью принципиальной разницы нет. Или я ошибаюсь?
0
А я на досуге решил посмотреть, что будет если в пространстве для «жизни» будут случайные глюки «вакуума» с заданной вероятностью — тоже на canvas: allter.github.io/misc/life_canvas.html Если кому интересно — можете заглянуть внутрь и посмотреть, как сделано ускорение просчётов (при задержке 0), что бы считалось быстрее обновлений графики.
0
0
После просмотра кода у меня появилось предложение по его улучшению — 5 раз записан один и тот же код, различие лишь в индексах у используемых массивах. Кажется, достаточно лишь передать в функции таймера индекс и цвет, чтобы скрипт сократился в более чем 4 раза.
+1
Изначально была написана 1 функция с параметром индекс, но так по какой то причине работать не захотело
0
Как то так jsfiddle.net/duburlan/rgCfP/
0
Странно, что я делал не так в самом начале :)
В коде то осталась начальная функция mur
Сейчас обновил на такой подход
В коде то осталась начальная функция mur
Сейчас обновил на такой подход
0
Вы наверно вызывали как то так
но функция с динамическими параметрами в setInterval нужно запихивать как нечто
setInterval(funcWithParams, delay, [dynamicParam1, ...dynamicParamN]);
и тогда ваш пример заработает вот так
for (i=1; i <= 4; i++) {
setInterval(mur(i), 10);
}
но функция с динамическими параметрами в setInterval нужно запихивать как нечто
setInterval(funcWithParams, delay, [dynamicParam1, ...dynamicParamN]);
и тогда ваш пример заработает вот так
for (i=1; i <= 4; i++) {
setInterval(mur, 10, i);
}
0
Думается мне, что просто когда муравей входит в точку выхода другого муравья, он начинает повторять все движения предшественника задом на перёд. Ведь поведение муравьёв вполне инвертируемо. Вот и выходит, что если в любой момент муравья развернуть строго на 180 градусов, то он начнёт всё стирать как на обратной перемотке, пока не наткнётся на работу другого муравья.
Не уверен, понятно ли объяснил. Если что, спрашивайте.
Не уверен, понятно ли объяснил. Если что, спрашивайте.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Муравей Лэнгтона на JS и Canvas