14

Симулятор бактерий

И еще немного покодив после незамеченных почти никем постов (да и исправив тучу косяков), слегка переделанное творение. @unrecovered призываю тебя тоже посмотреть.

Симулятор бактерий

Для начала краткое описание параметров:

FPS - сколько раз в секунду будет перерисована картинка.

Шаг симуляции - пауза между итерациями.

Интенсивность света - сколько энергии каждый из источников света, убывает по мере удаления.

Шанс мутации - вероятность мутации в процентах.

Миролюбивость - разница в генах при которой считается, что клетки родственники.

Предел энергии - максимальное количество энергии которое может накопить клетка.

Зона размножения - зона в которой клетка может разделиться, но еще не умирает от переедания.

Расход энергии за действие - сколько энергии стоит каждое действие клетки (движение, обзор, поворот).

Сила атаки - сколько энергии отнимается при удачной атаке на клетку или теряется при неудачной.


Цвет выбирается в зависимости от количества мутаций разного рода.


Есть немного статистики и информация о клетке: ее поколение, количество мутаций (удлинение гена, сокращение и изменение) и собственно сам ген.


Действия которые может сделать клетка: расти, посмотреть, повернуться в одну сторону или другую, двинуться/атаковать и съесть трупик (если он там есть).


Пробовал разные варианты действий клетки и кучу вариантов расчета силы, в итоге пока остановился просто на сравнении уровня энергии. Может кто придумает зрелищней вариант

Так же, если кому интересно будет дать совет, то так и не придумал как действия клеток можно распараллелить, сейчас они ходят все по очереди. Да и вообще любые идеи интересно послушать.


Хотел бы добавить динамическое редактирование всех параметров, но для этого бы отполировать сам алгоритм. Минимум деталей, максимум неожиданностей.


Исходники здесь: https://github.com/xfjgkss/GeneCells

А это прямая ссылка на скомпиленый файл:

https://github.com/xfjgkss/GeneCells/raw/master/out/artifact...

(Там jar файл для запуска которого нужна установленная Java SE Runtime Environment)

0
Автор поста оценил этот комментарий

Ну, я этой осенью поступаю на прикладную математику и информатику, о направлениях не знаю, хочу сначала побольше разобраться, если объективно, а если субъективно - то какой мальчишка не хочет поучаствовать в написании чего-то крутого, вроде игры? Сейчас цель разобраться со всеми азами и потом решить, куда идти.

А с ООП - я так устроен, что часто уходят недели на то, чтобы понять простецкую вещь. А ещё плохая память. И бессистемный подход. Всё это выливается в то, что я не знаю точно, что такое классы и объекты, как они взаимодействуют, путаюсь, а про синтаксис вообще молчу. Вот банальный пример: я в попытке реализовать свою игру решил сделать массив классов "клетка", а потом с каждым из них отдельно работать. Вроде как копии клетки построенные по шаблону и потом изменяющиеся. А потом понял, что каждый класс надо инициализировать, причём отдельной переменной(?). После вашего сообщения я подозреваю, что сделал офигенно тупую херню, и надо было делать массив объектов, так?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Массив классА клетка, то есть слово класс похоже на слово тип. Объявляя переменную мы просто показываем компилятору, что у нас есть такая то ссылка с таким именем. Ее нужно инициализировать, то есть присвоить ей какой то объект на который она будет ссылаться. Важно то, что разные ссылки могут указывать на один объект. Ссылка должна быть какого то класса, это указывает на какого типа объекты она может указывать (тут еще учитывается наследие классов). Создавая массив какого то класса он заполняется пустыми ссылками (в джаве null, а в паскале nil), и им нужно присвоить какое то значение, либо создав объект, либо присвоив какой нибудь существующий.

Вообще глянул синтаксис паскаля и он мне мозг ломает, джава нагляднее. Если не принципиально какой язык, то советую джавараш. Да и вообще лекции по теории посмотреть.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества