Игра “Сапёр” на Паскале
Рубрика: Программирование 22 Март 2010
Игра "Сапер" всем известна. Некоторые студенты делают реализацию алгоритма этой игры в качестве курсовой работы. Для таких студентов, я думаю, пригодится эта функция, которая открывает ячейки. Функция рекурсивная.
procedure matrix.OpenCells(i,j:integer);
var t:integer;
begin
t := 0;
if (i < 1) or (j < 1) then t := 1;
if (i = n+1) or (j = n+1) then t := 1;
if t = 0 then
begin
if DetectMines( a , b )=0 then
begin
marked[i][j] := TRUE;
DrawOpenedCells(i,j);
if mines[i][j] = FALSE then
begin
OpenCells(i-1,j);
OpenCells(i+1,j);
OpenCells(i,j-1);
OpenCells(i,j+1);
OpenCells(i-1,j-1);
OpenCells(i+1,j-1);
OpenCells(i-1,j+1);
OpenCells(i+1,j+1);
end;
end;
end;
end;
