Задание7_Сапер_ч2 (1076743), страница 2
Текст из файла (страница 2)
Procedure TForm1.Form1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
Описание алгоритма:
-
Если status=2, то выход (игра завершена и ничего не надо делать).
-
Если status=0, то status=1 – первое нажатие.
-
Преобразовать координаты мыши в индексы клетки поля.
-
Если нажата левая кнопка мыши, то:
4.1. если открыта клетка, в которой есть мина, то к Pole(row,col) нужно прибавить 100, установить status=2 (игра закончена) и показать поле;
4.2. иначе если открыта клетка, в которой нет мины, то нужно вызвать процедуру Open(row,col);
5. Если нажата правая кнопка мыши, то:
5.1. если в клетке был флаг, то убрать флаг (вычесть из Pole[row,col] 200 и вывести прямоугольник серого цвета;
5.2. иначе поставить в клетку флаг, то есть:
увеличить счетчик флагов;
если в поле была мина, то увеличить счетчик открытых мин;
прибавить 200 к Pole[row,col];
если число открытых мин и число поставленных флагов равны NM, то
игра закончена (status=2 и показать поле);
иначе показать клетку.
В заключение работы выполнить шаги 9 и 10.
Шаг 9. Комплексная отладка программы.
Шаг 10. Тестирование и исправление обнаруженных ошибок.















