gin
count: = 2;// тепер відкриті дві клітини
Pole [open2.col, open2.row]: =
Pole [open2.col, open2.row] + 100;
Kletka (open2.col, open2.row);// отрісуем другу клітку
// перевіримо, відкриті картинки однакові?
if Pole [open1.col, open1.row] = Pole [open2.col, open2.row] then
// відкрито дві однакові картинки
begin
n: = n +1;
Form1.Timer1.Enabled: = True;// запустити таймер
// процедур обробки події OnTimer
// "зітре" дві однакові картинки
end;
end;
exit;
end;
if count = 2 then
begin
// відкриті 2 клітини з різними картинками
// закриємо їх і відкриємо нову, в якій
// зроблено клацання
// закрити відкриті клітини
Pole [open1.col, open1.row]: = Pole [open1.col, open1.row] - 100;
Pole [open2.col, open2.row]: = Pole [open2.col, open2.row] - 100;
Kletka (open1.col, open1.row);
Kletka (open2.col, open2.row);
// запис в open1 номери поточної клітини
open1.col: = col_;
open1.row: = row_;
count: = 1;// лічильник відкритих клітин
// відкрити поточну клітини
Pole [open1.col, open1.row]: = Pole [open1.col, open1.row] + 100;
Kletka (open1.col, open1.row);
end;;
// обробка події таймераTForm1.Timer1Timer (Sender: TObject);
begin
// в масиві Pole клітини позначаються як збіглися
Pole [open1.col, open1.row]: = Pole [open1.col, open1.row] + 100;
Pole [open2.col, open2.row]: = Pole [open2.col, open2.row] + 100;
count: = 0;
// отрісовать клітини
Kletka (open2.col, open2.row);
Kletka (open1.col, open1.row);
// зупинка таймера
Form1.Timer1.Enabled: = False;
if n = Trunc (W * H/2)
then// відкриті всі пари
begin
Form1.Canvas.Font.Name: = 'Times New Roman';
Form1.Canvas.Font.Size: = 36;
Form1.Canvas.Font.Color: = clBlack;