Реферат: Помощь в обучении программированию

Реакцию на событие от пользователя "отпускание фигуры" можно представить следующим образом:

Проверить есть текущая фигура Assigned(fCurrentFigure)

Если есть то пока она может сдвигаться вниз (fCurrentFigure.CanDown)

сдвигать ее вниз (fCurrentFigure.Down)

обрабатываем ситуацию упал (для бомб падение предполагает очистку других ячеек поля) fCurrentFigure.Falled

RotateAgainst, RotateAlong

Реакцию на событие от пользователя "поворот фигуры" можно представить следующим образом:

Проверить идет ли игра и есть текущая фигура IsGoing and Assigned(fCurrentFigure)

Если есть то повернуть фигуру fCurrentFigure:=fCurrentFigure.Rotate

При выполнении перечисленных операций с фигурой совершенно не важно какая она на самом деле. Операции проводятся с базовой фигурой, которая имеет лишь методы по своему повороту, сдвигу. Реализация всех этих действий выполняется в потомках объекта базовая фигура (TBaseFigure), перечисленных ниже. В потомках даже приходиться лишь правильно определить координаты относительно базовой точки, остальное сделает TBaseFigure!

TBaseFigure - класс базовая фигура позволяющий задать очертания фигуры и методы по ее перемещению, повороту. Включает в себя следующие поля

Cell

ячейка (TFieldCell)

Описание основной ячейки - цвет, текстура, номер находящийся в ней.

Xbase

координата по X (integer)

Координаты базовой точки фигуры на поле

Ybase

координата по Y (integer)

DownLimit

отступ снизу (integer)

Отступы вниз, влево, вправо от базовой точки до границ фигуры, чтобы не вылазить за границы поля при перемещении. Т.е. общие очертания фигуры всегда прямоугольник. Конкретно какие ячейки она занимает в этом пространстве опредялются для потомков индивидуально

RightLimit

отступ справа (integer)

LeftLimit

отступ слева (integer)

методы:

Rotate(AlongClock:boolean)

Реализует поворот фигуры по или против часовой стрелки

К-во Просмотров: 440
Бесплатно скачать Реферат: Помощь в обучении программированию