Курсовая работа: Сапер
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);