• ↓
  • ↑
  • ⇑
 
Записи с темой: программирование (список заголовков)
11:50 

Много гифок про программистов

бинарный романтик
11:56 

Кто читает хабр по утрам...

бинарный романтик
...тот узнает много интересного :)
читать дальше

@музыка: -

@настроение: -

@темы: юмор, программирование, IT

21:18 

Первый бета-релиз

бинарный романтик
Скачать Life_setup.exe с exfile.ru

Буду рад, если кто-нибудь скачает и протестирует.

@темы: Программирование

01:10 

Life! Game update

бинарный романтик
Ну вот, основной функционал создан.

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

Бонус: по сравнению с предыдущей версией наблюдается пятикратное увеличение производительности (за счет переработки алгоритмов отображения поля и эволюции поля)

Что будет:
-загрузка на поле наиболее интересных фигур.
-написание справочной системы.

@темы: Программирование

01:47 

Наконец-то

бинарный романтик
Наконец-то после нескольких дней мучений получилось сделать настройки цвета в игре "жизнь". теперь осталось приделать настройки поля... и автоматического запуска эволюции... >.<

@темы: Программирование

17:43 

Шутка, батенька, шутка...

бинарный романтик
Вспомнили с Колей одн старый прикол с башорга и решили его реализовать после курсача по ПЯВУ.
Итак, пишем маленькую такую программу-шутку.
Суть очень проста: получаем значение системного времени и при наступлении нового часа делаем следующий цикл:
1 - открыть привод компакт-дисков;
2 - сказать "ку-ку" динамиком материнской платы;
3 - закрыть привод компакт-дисков.

Количество циклов равно значению часа. 5 часов - 5 циклов.

Каждые 12 часов вместо "ку-ку" имитировать бой курантов.

ЗЫ
Программа не является вирусом. Она не изменяет системные файлы и не распространяет себя каким-либо образом. Все, что она делает - записывает себя в автозапуск и включается :)

Кодовое название - "Часы с кукушкой" :)

@темы: Программирование

00:08 

Новые результаты

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

И еще. На старой версии игры отработал конструкцию "заражение вирусом" (см. рисунок)

Если клетка-вирус касается четырех участников популяции квадратов, то популяция уничтожает ее и восстанавливает себя :)
Но если вирус попал между двумя квадратами... Смотрите сами. Самый последний кадр оторван от всех остальных на добрых три с лишним сотни шагов.

@темы: Программирование

16:32 

А как вы думаете?

бинарный романтик
А есть ли смысл делать в игре "жизнь" загрузку поля из файла с картинокй?
Ну и сохранение можно заодно организовать в формат картинки ))

ЗЫ
под "картинкой" я понимаю файл формата .bmp

@темы: Программирование

09:59 

Удача!

бинарный романтик
Е... 2 часа отладки программы в пошаговом режиме и проверкой действенности алгоритма... и плоское игровое поле свернуто в тор. ^^ Теперь фигура "глайдер" при ухождении за один край видимой области, появляется вновь с другой стороны и продолжает свое бесконечное движение по полю ^^
Рисунок по кадрам прилагается.

@темы: Программирование

00:24 

Игра "Жизнь". Развитие сюжета.

бинарный романтик
Дописал внешний вид заставки игры и диалог настроек игры. И понял, что конкретно лоханулся. Я абсолютно забыл, что если я хочу делать игровое поле произвольного размера (а поле представляет собой двумерный массив, хранящий статусы клеток), то статический массив мне не годится, надо использовать динамический. Радует то, что в Delphi, в отличие от pascаl, нет проблем с созданием и управлением думерными динамическими массивами. Все просто и элегантно.
Но даже это "просто и элегантно" придется вписывать в программу, да и еще учитывать различные критические ситуации. Так что можно считать, что программа будет переписана с нуля.
Ну а чтоб было интересней, игровое поле я оформлю как объект. Так удобнее и интереснее.

P.S.
Да, я извращенец.

@музыка: Кино - Сказка

@настроение: Я - компилятор

@темы: факап, Программирование

12:07 

Life Game 0.1 beta

бинарный романтик
Ну вот. Сегодня утром дособирал первую полностью рабочую версию программы.
Теперь по функционалу моя программа не уступает той, что была найдена в интернете (ориганальная версия была написана на языке pascal и работала в DOS).
Я же написал свою версию на Delphi.

Итак, все возможности оригинальной программы реализованы, а именно:
-создание поля, заполненного фишками в случайном порядке
-редактирование поля
-очистка поля
-загрузка/сохранение поля.

Теперь буду расширять возможности. В первую очередь хочу дописать процедуру настройки поля, чтобы пользователь мог задавать размер поля самостоятельно.
Ну и неплохо бы дать возможность запускать эволюцию поля в автоматическом режиме (чтоб не щелкать мышкой по полю черт знает какое количество раз). Когда допишу - не знаю. Скорее всего на следующих выходных.

Кого заинтересовало - кидайте в личку свой е-мейл, вышлю программу, выслушаю пожелания/предложения/критику.

Игра имеет статус opensource и может распространяться и модифицироваться без ограничений. По запросу вышлю исходники программы.

PS
Скачать приложение можно здесь

@темы: Игры, Программирование

20:01 

Как надо объяснять...

бинарный романтик
Кусок текста из учебника по объектно-ориентированному программированию:

Ответственность

В нашем примере рассматривается только взаимодействие в процессе кормления, описываемое методом eat() . В этом методе животное обращается к хозяину, умоляя его применить метод getFood().

Итак, объект sharik , выполняя свой метод eat () , посылает сообщение объекту, ссылка на который содержится в переменной person, с просьбой выдать ему определенное количество еды и питья. Сообщение записано в строке person.getFood(food, drink) .

Этим сообщением заключается контракт (contract) между объектами, суть которого в том, что объект sharik берет на себя ответственность (responsibility) задать правильные параметры в сообщении, а объект — текущее значение person — возлагает на себя ответственность применить метод кормления getFood() , каким бы он ни был.

@темы: Программирование

Записки дракона

главная