Пища в игре представлена спелыми красными яблоками в стиле эмблемы компании Apple, но они реализованы с градиентной заливкой.
В соответствии с описанием элементов игры они выделены в разные классы со своими конструкторами, деструкторами и методами, а также свойств, характеризующих данный объект. Так в игре были выделены следующие классы:
class CApple
{
private:
CBuffer *Self;
public:
FPoint Pos;
CApple(HWND hWnd);
void Resize(HWND hWnd);
void Replace();
void DrawTo(HDC hDC);
~CApple();
};
class CSnake
{
private:
int PhaseInc;
int Phase;
void MoveHead(HWND hWnd);
public:
SNode Nodes[MAX_SNAKE_SIZE];
_timeb LastMove;
SHead Head;
int Delight;
int Length;
CSnake();
void Resize(HWND hWnd);
void Move(HWND hWnd);
void Grow(HWND hWnd);
void DrawTo(HDC hDC);
~CSnake();
};
class CLevel
{
private:
CBuffer *Self;
public:
FPoint Stubs[MAX_LEVEL_COUNT*2];
int GetStubSize(int Num);
int PrevLevelDelight;
int NextLevelDelight;
int Number;
CLevel(HWND hWnd);
void Resize(HWND hWnd);
void Next(HWND hWnd);
void DrawTo(HDC hDC);
~CLevel();
};
У всех этих классов кроме методов, свойственных их моделям, реализованы следующие методы:
void Resize(HWND hWnd);
void DrawTo(HDC hDC);
Они реализует для каждого класса следующие возможности: перерисовка изображения(при необходимости) и изменении состояния объекта при его изменении, и вывод полученного изображения в указанный контекст устройства соответственно.
Для формирования изображений, формируемых выше описанными классами, и их объединения с HUD, были созданы:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.