Начинаю со своей змейки и берусь пока за остальные игры. Дальше посмотрим. Это чтобы не делать нескольким одну и ту же работу.
Желающие помочь могут посмотреть изменения r2045.
Все игры для KolibriOS
MineSweeper (он же "Сапаёр") избавился от бага сворачивания в заголовок. Размер окна по-умолчанию сделал "для любителя".
Из хаоса в космос
Алсо хтмл документация афигенна.
Из хаоса в космос
Пофиксил snake, Phenix, Reversi, Arcanii, Freecell, Gomoku, MSquare.
В этой теме, вроде, всё.
В этой теме, вроде, всё.
По поводу реализации Life.
Думается, оптимальней поле реализовывать как разреженный массив, тогда будут храниться только координаты заполненных ячеек. Я когда-то делал реализацию на Си, даже вроде исходники где-то остались. Но все равно при увеличении популяции over 9000 появлялись сильные тормоза, хотя большая часть поля могла быть статичной.
Другая реализация, которая мне понравилась - в программе Life32. Судя по описанию в хелпе, там поле хранится отдельными блоками 8*8 ячеек, причем если жизнедеятельность внутри блока прекращается, блок помечается как мертвый и не обсчитывается, пока на него не повлияет один из соседних блоков. Также сделана оптимизация для короткопериодических конфигураций типа "мигалок".
Думается, оптимальней поле реализовывать как разреженный массив, тогда будут храниться только координаты заполненных ячеек. Я когда-то делал реализацию на Си, даже вроде исходники где-то остались. Но все равно при увеличении популяции over 9000 появлялись сильные тормоза, хотя большая часть поля могла быть статичной.
Другая реализация, которая мне понравилась - в программе Life32. Судя по описанию в хелпе, там поле хранится отдельными блоками 8*8 ячеек, причем если жизнедеятельность внутри блока прекращается, блок помечается как мертвый и не обсчитывается, пока на него не повлияет один из соседних блоков. Также сделана оптимизация для короткопериодических конфигураций типа "мигалок".
Я пробовал сделать свою версию Life, выкладывал на форуме, потом забросил. Сделал немного усовершенствований в программе, но на форум выкладывать не стал, потому как доконца не доделал то что планировал.
у меня к сожалению такое тоже наблюдается. А программа Life32 у меня тоже была, ноя в ней не разбирался, т. к. кодов не знал где взять.Insolor wrote:при увеличении популяции over 9000 появлялись сильные тормоза
Исходников Life32 в открытом доступе нет, есть только исходники Life Applet by Alan Hensel, на алгоритме которого основывается Life32.
Новая версия программы life3, отличия от предыдущей версии:
- открытие файлов *.lif через диалог
- изменение масштаба окна
- подписи Масштаба, Поколения, Особей
- ячейки плавно меняют цвет в зависимости от их возраста (молодые красные, старые синие)
На больших конфигурациях тормозит.
- открытие файлов *.lif через диалог
- изменение масштаба окна
- подписи Масштаба, Поколения, Особей
- ячейки плавно меняют цвет в зависимости от их возраста (молодые красные, старые синие)
На больших конфигурациях тормозит.
- Attachments
-
-
life3_31_01_12.zip (49.07 KiB)Downloaded 362 times
-
life3_31_01_12.png (12.22 KiB)Viewed 10883 times
-
Они че диггеры чтоле?
Для тестирования перерисовки я сделал фон немного отличающимся по цвету от белого. Просто хотелось убедиться что перерисовываються именно те ячейки где происходят изменения. Потом решил что эффект очень интересный и оставил его, хотя убрать при желании не сложно.Mario wrote:Они че диггеры чтоле?
А какой формат у .lif файлов? Хотелось бы чтобы в архиве был хоть один для примера
На диске rd/1 в папке demos есть 4 файла, потому я их не вкладывал. Есть программы для виндовса которые при сохранении конфигурации могут сохранять ее в формат lif, ними можно конвертировать.
На сколько я помню то это текстовый формат в котором ячейка задается звездой * а пустое место точкой . Есть там еще свои особености но я их не помню.
На сколько я помню то это текстовый формат в котором ячейка задается звездой * а пустое место точкой . Есть там еще свои особености но я их не помню.
Ок, с форматом более-менее понятно.
Небольшие замечания:
1.Не появляется диалог открытия при запуске программы с жесткого диска
2.Понял что означает кнопка 1> только после того как нажал на нее:)
Небольшие замечания:
1.Не появляется диалог открытия при запуске программы с жесткого диска
2.Понял что означает кнопка 1> только после того как нажал на нее:)
Если ввести клеткам бонус к "поеданию" новой области, то можно усилить реализм. К примеру клетка скушавшая "питательную" область живет дольше на один шаг, если по остальным условиям должна сдохнуть. Этакий "жирок" набрала. Конечно потребует некоторой модернизации логики кода.IgorA wrote:Для тестирования перерисовки я сделал фон немного отличающимся по цвету от белого. Просто хотелось убедиться что перерисовываються именно те ячейки где происходят изменения. Потом решил что эффект очень интересный и оставил его, хотя убрать при желании не сложно.
А когда помрет, сама превращается в питательной средой. Круговорот вещества.Mario wrote:К примеру клетка скушавшая "питательную" область живет дольше на один шаг, если по остальным условиям должна сдохнуть.
Who is online
Users browsing this forum: No registered users and 1 guest