Назад | Начало урока | Вперед
Содержание

Глава 4

Функция GetRect().

Это служебная функция, которая работает без параметров,
она работает с private переменными. Она берет две private переменные:
m_Position типа Point и m_Direction типа int и возвращает объект RECT(холст)
Функция разворачивает прямоугольник в четыре направления, в зависимости от m_Direction.

Эта функция понадобится нам как служебная для DrawShip(GetRect(), &dc);


RECT CField::GetRect() {
RECT rect;
if(m_Position.x == -1) {
rect.left = rect.top = rect.bottom = rect.right = 0;
return rect;
}
switch(m_Direction) {
case RIGHT:
rect.left = m_Position.x;
rect.top = m_Position.y;
rect.right = m_Position.x+m_Decks*20;
rect.bottom = m_Position.y+20;
break;
case TOP:
rect.left = m_Position.x;
rect.bottom = m_Position.y+20;
rect.right = m_Position.x+20;
rect.top = m_Position.y-(m_Decks-1)*20;
break;
case LEFT:
rect.right = m_Position.x+20;
rect.top = m_Position.y;
rect.left = m_Position.x-(m_Decks-1)*20;
rect.bottom = m_Position.y+20;
break;
case BOTTOM:
rect.left = m_Position.x;
rect.top = m_Position.y;
rect.right = m_Position.x+20;
rect.bottom = m_Position.y+m_Decks*20;
break;
}
return rect;
}

Это служебная функция, которая работает без параметров,
она работает с private переменными. Она берет две private переменные:
m_Position типа Point и m_Direction типа int и возвращает объект RECT(холст)


Назад | Начало урока | Вверх | Вперед
Содержание

Hosted by uCoz