Курсовая работа: Сапер

return; // error

// передаем значение номера строки и столбца

for (int i = 0; i < GetCols(); i++)

for (int j = 0; j < GetRows(); j++)

field [i] [j] ->SetState(OPENED);

}

// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // /

void MyField:: OpenNullValues(int i, int j) // пустые ячейки, а вокруг цифры

{

if (! CheckCell(i, j))

return;

if (GetCellByIndex(i, j) == NULL)

return;

if (GetCellByIndex(i, j) - >isBomb())

return;

else

if (countItter! = 0 && (GetCellByIndex(i, j) - >GetState() == OPENED ||

GetCellByIndex(i, j) - >GetState() == BLOCK)) // не может открыть ячейку, если она уже открыта либо стоит с флажком

return;

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);

К-во Просмотров: 1948
Бесплатно скачать Курсовая работа: Сапер