Симулятор бактерий
И еще немного покодив после незамеченных почти никем постов (да и исправив тучу косяков), слегка переделанное творение. @unrecovered призываю тебя тоже посмотреть.
Для начала краткое описание параметров:
FPS - сколько раз в секунду будет перерисована картинка.
Шаг симуляции - пауза между итерациями.
Интенсивность света - сколько энергии каждый из источников света, убывает по мере удаления.
Шанс мутации - вероятность мутации в процентах.
Миролюбивость - разница в генах при которой считается, что клетки родственники.
Предел энергии - максимальное количество энергии которое может накопить клетка.
Зона размножения - зона в которой клетка может разделиться, но еще не умирает от переедания.
Расход энергии за действие - сколько энергии стоит каждое действие клетки (движение, обзор, поворот).
Сила атаки - сколько энергии отнимается при удачной атаке на клетку или теряется при неудачной.
Цвет выбирается в зависимости от количества мутаций разного рода.
Есть немного статистики и информация о клетке: ее поколение, количество мутаций (удлинение гена, сокращение и изменение) и собственно сам ген.
Действия которые может сделать клетка: расти, посмотреть, повернуться в одну сторону или другую, двинуться/атаковать и съесть трупик (если он там есть).
Пробовал разные варианты действий клетки и кучу вариантов расчета силы, в итоге пока остановился просто на сравнении уровня энергии. Может кто придумает зрелищней вариант
Так же, если кому интересно будет дать совет, то так и не придумал как действия клеток можно распараллелить, сейчас они ходят все по очереди. Да и вообще любые идеи интересно послушать.
Хотел бы добавить динамическое редактирование всех параметров, но для этого бы отполировать сам алгоритм. Минимум деталей, максимум неожиданностей.
Исходники здесь: https://github.com/xfjgkss/GeneCells
А это прямая ссылка на скомпиленый файл:
https://github.com/xfjgkss/GeneCells/raw/master/out/artifact...
(Там jar файл для запуска которого нужна установленная Java SE Runtime Environment)