Программирование - это просто
Advertisement
Главная arrow Исходники arrow История изменения библиотек arrow История изменений библиотеки Easy Game Library
27.07.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
История изменений библиотеки Easy Game Library Печать E-mail
Автор megabax   
04.11.2009 г.

Как изучить язык C# с нуля?

Как заложить теоретический
и практический фундамент
профессионального .NET-программиста?

История изменений библиотеки PASSBaseObj

История изменений библиотеки Easy Game Library

Скачать библиотеку можно здесь.

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

Описание последней версии библиотеки находиться здесь.

Версия Дата выхода Изменения
  10.07.2011

Принято решение о прекращении разработки библиотеки. С этого момента  то, что уже написано, будет переписываться на C#. О выходе первых версий Easy Game Library для C# будет сообщено дополнительно.

2.3. 31.08.2010

У класса TEGDoor реализованы методы GetDescription и GetClassCaption. Реализована возможность сериализации объекта TEGDoor. У класса TEGObject исправлена ошибка в методе MakeQuantumOfTime, в результате которой отрабатывались неактивные задачи. У классов TfrmWallParameters и TfrmWallParametersAdd исправлен метод EditObject - теперь он возвращает результат закрытия формы: на какую кнопку нажал пользователь на OK или Cancel. У класса TEGObject появились события AfterAction и BeforeAction, а так же добавлен метод ClearTasks. У класса TEGUnit появился конструктор, инициализирующий начальное значение скоростей по осям X и Y, равным нулю. Кроме того, к классу TEGUnit  добавлен метод LookRound - осмотреться. Эта функция, возвращающая список объектов, найденных в радиусе осмотра, а так же метод Look - смотреть - возвращает список объектов по направлению осмотра на расстоянии радиуса взгляда, если их не закрывает непрозрачный объект. Поэтому к классу TEGObject еще добавлен метод IsTransparent - прозрачность. В класс TEGObjectsCollection добавлен метод AddOfCollection - добавить объекты из другой коллекции.

Добавлены классы:

  • TfrmDoorForm - форма редактирования параметров двери.
  • TfrmParsOfWall - форма редактирования параметров стены.
  • TEGPoint - класс реализующий точку с координатами X, Y. Имеет два конструктора, по заданным координатам и другой точке.
  • TEGDevice - устройство. Заготовка класса. Предок от TEGPartOfObject. От него будут объявляется классы устройств, например: замок, автоматика закрывания открывания двери, ключ, лазерная пушка.
  • TEGAutoDoorCloser - автоматический закрыватель дверей.
  • TEGColorField - цветной квадратик на карте.
2.2 07.06.2010

В класс TEGBitmaps добавлен метод GetNotUsedBitmaps, который возвращает коллекцию TEEBitmapsCollection, содержащую указатели только на объекты, имеющие свойство IsUse равное false. У класса TEGAction добавлено свойство Initiator - объект, инициировавший действие. В класс TEGWall добавлены методы IsPissibleEnter, DoorState. Кроме того, добавлены вспомогательные защищенные функции для рисования дверей. В класс TEGWallPartsContainer добавлен метод FindPartsByLocation - поиск по расположению. В класс TEGPartOfWall добавлено свойство WallLocation.  В классе TEGWall исправлена ошибка, в результате которой юнит мог проходить сквозь горизонтальную стену двигаясь параллельно оси X. Так же исправлена ошибка, из которой юнит мог застревать у углу.

Добавлены классы:

  • TEGStoredCollection - сохраняемая коллекция, предок всех типизированных коллекций объектов, в том числе TEGBitmaps . Часть методов из TEGBitmaps  перенесена в TEGStoredCollection .
  • TEGBitmapsCollection - коллекция объектов TEGBitmap. В отличии от TEGBitmaps хранит не сами объекты а лишь указатели на них. Используется для возврата результатов поиска.
  • TEGAbstractDoor - класс предок всех дверей.
  • TEGDoor - дверь: часть стены, позволяющая проходить сквозь нее (предок от TEGPartOfWall).
2.1 29.04.2010

В класс TEGBaseClass добавлен метод IsChildOf, который проверяет, является ли данный класс дочерним или им самим от заданного. Добавлена возможность назначить объекту задачу (AddTask) и удалить из объекта задачу (DeleteTask). У класса TEGUnit реализован метод IsCollsion. В класс TEGEvent добавлен признак, что объекты прореагировали на событие, свойство IsBeenReaction. В класс TEGUnit добавлен абстрактный метод ChooseReactionOfCollision - выбор реакции на столкновение с другим юнитом. В класс TEGBitmap добавлены свойства BigBitmap, BigBitmapLoaded, BigBitmapPath предназначенные для манипулирования большой картинкой. Ее можно хранить как внутри объекта так и во внешнем файле.

Добавлены классы:

  • TEGTask - задача, которую выполняет объект. Например: идти, осмотреться, драться, искать.
  • TEGRandomWalk - задача: случайное блуждание.
  • TEGPredator - юнит типа "хищник". При столкновении с другими юнитами "съедает" их.
  • TEGEat - действие "съесть"
  • TEGBitmaps - контейнер картинок.
  • TfrmEGBitmapForm - форма редактирования для объекта класса TEGBitmap.
2.0 25.03.2010

В названиях классов префикс EasyGame заменен на EG.  Метод GetVersion оставлен только у класса TEGBaseClass. Остальные классы наследуют этот метод от него. Переопределять GetVersion  категорически не рекомендуется! В класс TEGEvent добавлено свойство Age, которое показывает, сколько квантов времени прошло с момента инициации события. Исправлены ошибки, в результате которых юнит не мог "пролезть" сквозь дырку в стене и иногда "прилипал" к стене.

1.5 24.02.2010

В класс TEasyGamePlatform добавлены методы BeforeMakeQuantumOfTime и AfterMakeQuantumOfTime. В данном классе представляют просто заглушки, предназначены для переопределения в дочерних классах. В класс TEasyGameLocationObject добавлена функция IsMobile которая возвращает true если данный объект может двигаться. Если возможность двигаться у дочернего объекта отличается от его родителя, IsMobile  первого должен быть переопределен.  В класс TEasyGameCollection и его потомки добавлен метод IsMap, который возвращает true, если данная коллекция является игровой картой. В класс TEasyGameMap добавлен метод FindObjectsAsCoordPrecision. В класс TEasyGameObject добавлен обработчик кванта времени, в котором прописано реагирование на события игры. В класс  TEasyGameAction добавлен абстрактный метод GetActionName. Метод Action класса TEasyGameObject больше не абстрактный, но в этот класс добавлен новый абстрактный метод AcceptAction. В класс TEasyGameLocationObject  добавлен абстрактный метод метод IsCollision, который определяет, сталкивается ли с ним объект с заданными координатами и скоростью. Этот метод реализован у класса TEasyGameWall (стена). В класс TEasyGameLocationObject добавлен абстрактный метод GetStopVector, которые проверяют по вектору скорости, в каком направлении данный объект останавливает подвижный объект. Реализован у класса TEasyGameWall (стена). В класс TEasyGameUnit добавлен метод GetVAsVector. Исправлена ошибка в методе SetY класса TEasyGameUnit и в методе SetMaxY класса TEasyGameMap.

Добавлены классы

  • TEasyGameObjectsCollection - коллекция объектов типа TEasyGameObject.
  • TEasyGameEvent - класс, предназначен для обработки игровых событий, например: два юнита оказались в одной локации, юнит столкнулся со стеной и т. д.

  • TEasyGameCollisionEvent - столкновения игровых объектов.
  • TEasyGameStopAction - действие остановки, один объект останавливает другой.
  • TEGVector - класс вектора с неограниченным числом координат. Сериализация данного класса пока не поддерживается.
  • TEasyGameEventsUnit - расширение класса TEasyGameUnit - при столкновении со стеной генерит событие TEasyGameCollisionEvent
 
1.4. 14.01.2010

В класс TEasyGameDrawMapObject добавлено свойство Bitmap. В класс TEasyGameBaseClass добавлено защищенное поле FParent. В класс TEasyGameBaseClass добавлено свойство ID. Оно присваивается экземпляру данного класса при добавлении в контейнер. В контейнер теперь можно добавлять не только объекты TEasyGameObject и его потомки, но так же еще и TEasyGameNoun. В класс TEasyGameUnit добавлено свойство UnitDrawMode - режим перерисовки юнита: udrQuantumOfTime - при каждом новом кванте времени (в этом случае он будет двигаться по экрану плавно) и udrNewLocation - только при перемещению в новую локацию (будет двигаться рывками, но реже перерисовываться).

Добавлены классы

  • TEasyGameCollection- класс для работы с коллекцией объектов. Классы TEasyGamePointerCollection и TEasyGameContainer теперь наследуются от него. По отношению к ни у этого класса добавляется новый метод FindObject, который находит объект по ссылке на него и возвращает индекс объекта в коллекции.

  • TEasyGameBitmap - класс для хранения битовой карты TBitmap. Этот отдельный класс нужен потому что в будущем планируется создать сериализуемое хранилище картинок, на которые будут ссылаться другие объекты библиотеки Easy game.

1.3 17.12.2009

В класс TEasyGameAxesSystem добавлены новые методы ScreenToAxesX и ScreenToAxesY, которые производят действие, обратное функциям GetX и GetY - по координатам на экране определяют координаты в координатной плоскости, заданной объектом TEasyGameAxesSystem. В базовый класс и его потомки добавлена функция GetClassCaption, которая возвращает русский перевод имени класса в формате, понятному пользователю. В класс TEasyGameMap добавлены метод FindObjectsAsCoord, FindObjectsAsCoordAndClassName - список объектов в заданной координатной позиции, последний еще и по заданному классу. Для класса TEasyGameObject и его потомков появилась функция GetDescription, предназначенная для генерации описания объекта.

Добавлены классы:

  • TEasyGameDrawMapObject - объект, рисующийся на карте. Класса в новой версии теперь является дочерним по отношению к нему, а не к TEasyGameLocationObject.
  • TEasyGameUnit - класс юнита, подвижного игрового объекта.
  • TEasyGamePointerCollection - класс коллекция игровых объектов базового класса. В отличии от контейнера, он содержит только ссылки на эти объекты.
  • TEasyGameLocationObjectsCollection - коллекция локационных игровых объектов. В отличии от контейнера, он содержит только ссылки на эти объекты.
  • TEasyGameObjectEditForm (в модуле EaseGameForms) - абстрактный класс предок форм редактирования объектов
1.2 04.11.2009
  • В контейнер (TEasyGameContainer) добавлена возможность очитки контейнера. При загрузке контейнера из потока он сначала очищается, затем в него грузятся данные. Так же у контейнера появился деструктор. 

  • Исправлена ошибка в методе TEasyGamePlatform.MakeQuantumOfTime, из за которой происходило неверное приращение игрового времени при исполнении очередного такта.
  • Добавлены классы TEasyGameAxesSystem, TEasyGamePartOfObject, TEasyGamePartOfWall, TEasyGameWall, TEasyGameWallPartsContainer.
  • Для класса TEasyGameMap (карта) реализована возможность отображения на экране через типовой класса TImage.
  • Метод GetVersion, а так же конструктор Create начиная с базового класса TEasyGameBaseClass стали виртуальными.
1.1 21.10.2009 В библиотеку была добавлена возможность сериализации объектов.
Последнее обновление ( 10.07.2011 г. )
 
« След.   Пред. »
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги