Сайт Романа ПарпалакаБлог20090913

The Game of Life 3.6 beta

Я нашел время и довел свою программу The Game of Life до состояния, которое можно опубликовать. Да и интерес к игре «Жизнь», судя по всему, не ослабевает. Итак, представляю новую версию The Game of Life 3.6 beta.

Что нового?

  • Поддержка OpenGL. Если у вашего компьютера (относительно) мощная видеоплата, ее ресурсы будут использоватсья при прорисовке.
  • Многочисленные улучшения интерфейса, в том числе сообщения на русском или английском языке (в зависимости от языка, установленного в системе), а также 32-битные иконки из набора Silk Icons.
  • Поддержка распространенных форматов файлов (RLE, LIF) с конфигурациями «Жизни».
  • Наконец-то создана справочная система. Я включил в справочную систему Словарь «Жизни», собранный Стивеном Сильвером и переведенный Николаем Белюченко.
  • Теперь при копировании и вставке используется буфер обмена Windows и текстовое представление информации. Благодаря этому можно, например, скопировать какую-нибудь конфигурацию из вышеупомянутого словаря и вставить ее в программу.

Системные требования

Особых системных требований у программы нет. Работает в операционных системах Windows 2000, XP, Vista, 7. Windows 9x из-за компиляции в Delphi 2010 больше не поддерживается.

Планы на будущее

Перед выпуском финальной версии 3.6 я хочу:

  • исправить баги, если таковые будут найдены;
  • перевести справку на английский;
  • перерисовать некоторые иконки;
  • переделать на сайте раздел, посвященный игре «Жизнь».

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

13 сентября 2009 года, 19:28     софт

Креатив так и прет Ctrl Небольшой платный блок текстовой рекламы

Поделиться

Комментарии

#1. 13 сентября 2009 года, 22:37. Сергей М. пишет:
999КБ — это мощно.

Всегда обожал эту игру, даже сам писал реализации.

Твоя — неплохая (хотя ту же скорость лучше, конечно, не задержкой выставлять, а временем, отведенным на каждый «ход»). Внедренная энциклопедия — тоже хорошо, хотя я в свое время хотел сделать полноценную библиотеку известных объектов с описаниями, разбитых по темам, для простой вставки на поле.

Ну и не сильно понимаю проблему избавиться от ограничений на размер поля.
#2. 13 сентября 2009 года, 23:24. пишет:
Про скорость логично, конечно. Хотя для небольших конфигураций время задержки и время на ход — почти одно и то же, а для больших, я думаю, уменьшать скорость не захочется.

По поводу ограничений на размер поля. В текущем алгоритме есть два списка: фишки и пустые клетки, на которых могут появиться фишки. Еще есть несколько вспомогательных списков, заполняемых при выполнении хода. Каждый раз для каждой фишки необходимо определять количество соседей. Для этого я использую двумерный массив 1000*1000, соответствующий полю. В текущей реализации алгоритма на ассемблере двумерный массив должен иметь фиксированную ширину (1000). Если ширина переменная, на нее уйдет регистр, которых всегда не хватает, либо увеличится количество обращений к памяти. Плюс еще один регистр либо одно обращение к памяти в теле цикла потратится в переходе от статического массива к динамическому на хранение указателя на начало массива (подробнее об этом эффекте здесь: http://written.ru/articles/technologies/pr … tic_arrays).

Единственное, что я могу сделать — увеличить размер поля, например, до 2000*2000. В общем, гораздо проще придумать новый алгоритм, чтобы он не использовал двумерных массивов.
#3. 14 сентября 2009 года, 17:40. пишет:
Да куда идет расход процессорного времени — это понятно. Вот у меня статья уже пять лет в корне лежит :) http://www.mathnet.ru/php/getFT.phtml?jrni … n_lang=rus

Почти столько же я хардкорным программированеим не занимался, поэтому у меня в голове крутится одна сумасшедшая мысль, но это вообще идиотизм, я не буду ее озвучивать :)

Оставьте свой комментарий

Ваше имя:

Комментарий:

Для выделения используйте следующий код: [i]курсив[/i], [b]жирный[/b].
Цитату оформляйте так: [q = имя автора]цитата[/q] или [q]еще цитата[/q].
Ссылку начните с http://. Других команд или HTML-тегов здесь нет.

Сколько будет 15+3?

Записи