r
np: integer;// кількість парних картинок
begin
level: = 30;
Pictures: = TBitmap.Create;
// завантажити картинки з файлу
Pictures.LoadFromFile ('pictures.bmp');
HK: = Pictures.Height-1;// висота картинки
WK: = HK;// ширина картинки
np: = Round (Pictures.Width/WK);
if np <= 15
then H: = 4
else H: = 5;
W: = Round (np * 2/H);
// встановити розміру поля
Form1.ClientHeight: = H * HK;
Form1.ClientWidth: = W * WK;
Form1.Timer1.Enabled: = False;
Form1.Timer1.Interval: = 200;
n: = 0;
NewGame;
;
// промальовування клітин на полі
procedure TForm1.FormPaint (Sender: TObject);
ShowPole;;
// клацання в клеткеTForm1.FormMouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
col_: integer;// номер клітини по горизонталі
row_: integer;// номер клітини по вертикалі
begin
col_: = Trunc (X/WK) + 1;
row_: = Trunc (Y/HK) + 1;
if Pole [col_, row_]> 200 then
// клацання в на місці однієї з двох
// вже знайдених парних картинок
exit;
// відкритих клітин немає
if count = 0 then
begin
count: = 1;
open1.col: = col_;
open1.row: = row_;
// клітина позначається як відкрита
Pole [open1.col, open1.row]: = Pole [open1.col, open1.row] + 100;
Kletka (open1.col, open1.row);
exit;
end;
// відкрита одна клітина, треба відкрити другу
if count = 1 then begin
open2.col: = col_;
open2.row: = row_;
// якщо відкрита одна клітина і клацання зроблений
// в цій клітці, то нічого не відбувається
if (open1.col = open2.col) and (open1.row = open2.row)
then exit
else be...