Курсовая работа: Сапер
GetCellByIndex(i, j) - >SetState(OPENED);
countItter++;
// Обходим все соседние ячейки что бы их открыть
if (((CMyCellWob *) GetCellByIndex(i, j)) - >GetValue() == 0)
{
OpenNullValues(i, j - 1);
OpenNullValues(i - 1, j - 1);
OpenNullValues(i - 1, j);
OpenNullValues(i - 1, j + 1);
OpenNullValues(i, j + 1);
OpenNullValues(i + 1, j + 1);
OpenNullValues(i + 1, j);
OpenNullValues(i + 1, j - 1);
}
3 ПРОЕКТИРОВАНИЕ СИСТЕМЫ
CmyCell – базовый абстрактный класс, хранит положение и состояние ячейки, выполняет необходимые ячейке действия, виртуальные функции предопределяются далее в производных классах.
GetX() – взятие положения по X
GetY() – взятие положения по Y
GetState() – взятие состоянияячейки
SetX() – установка положения по X
SetY() – установка положения по Y
SetState() – установка состояния ячейки
HitToPoint() – попадание по ячейке
DrawClosedCell() – прорисовка закрытой ячейки
DrawBlockedCell() – прорисовка заблокированной ячейки
Draw() – прорисовка ячеек
Click() – щелчок по ячейке
IsBomb() – проверяет на наличие в ячейке бомбы
CmyCellBomb – класс, ячейка с бомбой, наследуется от базового класса – ячейки. Переопределяет функции Рисовать, Кликать, проверку на занятость ячейки бомбой.
CMyCellWOB – класс, ячейка без бомбы, наследуется от ячейки.