Объект Свойство Значение Label1 Caption Моя первая программа



бет17/23
Дата25.09.2023
өлшемі1.52 Mb.
#478523
түріПрограмма
1   ...   13   14   15   16   17   18   19   20   ...   23
Лабораторные

    Бұл бет үшін навигация:
  • Procedure
if (status = 2) and (Pole[row,col] = 9)
then Mina(Canvas, x, y) ; exit; end;
// открытая клетка
Canvas.Brush.Color := clWhite; // открытые белые
Canvas.Rectangle(x-1,y-1,x+W,y+H);
if (Pole[row,col] = 100) then exit; // клетка открыта, но она пустая
if (Pole[row,col] >= 101) and (Pole[row,col] <= 108) then begin // в соседних клетках есть мины
Canvas.Font.Size := 14; Canvas.Font.Color := clBlue;
Canvas.TextOut(x+3,y+2,IntToStr(Pole[row,col] -100)); exit; end;
if (Pole[row,col] >= 200) then Flag(Canvas, x, y);
if (Pole[row,col] = 109) then // на этой мине подорвались! begin
Canvas.Brush.Color := clRed; Canvas.Rectangle(x-1,y-1,x+W,y+H); end;
if ((Pole[row,col] mod 10) = 9) and (status = 2) then Mina(Canvas, x, y);
end;

  1. В этой процедуре использованы две процедуры рисования мины и флажка. Опишем приблизительный код для них. Вы можете нарисовать собственные рисунки

// Рисуем мину
Procedure Mina(Canvas : TCanvas; x, y : integer);
begin
with Canvas do
begin
Brush.Color := clGreen; Pen.Color := clBlack;
Rectangle(x+16,y+26,x+24,y+30); Rectangle(x+8,y+30,x+16,y+34);
Rectangle(x+24,y+30,x+32,y+34); Pie(x+6,y+28,x+34,y+44,x+34,y+36,x+6,y+36);
MoveTo(x+12,y+32); LineTo(x+26,y+32); MoveTo(x+8,y+36); LineTo(x+32,y+36);
MoveTo(x+20,y+22); LineTo(x+20,y+26); MoveTo(x+8, y+30); LineTo(x+6,y+28);
MoveTo(x+32,y+30); LineTo(x+34,y+28);
end; end;
// Рисуем флаг
Procedure Flag(Canvas : TCanvas; x, y : integer);
var
p : array [0..3] of TPoint; // координаты флажка и нижней точки древка
m : array [0..4] of TPoint; // буква М
begin
// зададим координаты точек флажка
p[0].x:=x+4; p[0].y:=y+4;
p[1].x:=x+30; p[1].y:=y+12;
p[2].x:=x+4; p[2].y:=y+20;
p[3].x:=x+4; p[3].y:=y+36; // нижняя точка древка
m[0].x:=x+8; m[0].y:=y+14;
m[1].x:=x+8; m[1].y:=y+8;
m[2].x:=x+10; m[2].y:=y+10;
m[3].x:=x+12; m[3].y:=y+8;
m[4].x:=x+12; m[4].y:=y+14;


Достарыңызбен бөлісу:
1   ...   13   14   15   16   17   18   19   20   ...   23




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет