unit
Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TFigure =
class
public
d,b,c,a,p,x,y,x1,y1,r,size,maxsize:
Integer
;
Canvas: TCanvas;
Constructor
Create(NewX, NewY,NewSize,NewMaxSize :
integer
;
NewCanvas : TCanvas);
Procedure
Show;
Procedure
Hide;
Procedure
Move;
destructor
destroy; override;
end
;
TForm1 =
class
(TForm)
Image1: TImage;
Timer1: TTimer;
Label1: TLabel;
procedure
Image1Click(Sender: TObject);
procedure
FormCreate(Sender: TObject);
private
public
Figure:TFigure;
end
;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure
TForm1
.
Image1Click(Sender: TObject);
begin
end
;
constructor
TFigure
.
Create(NewX, NewY, NewSize, NewMaxSize:
integer
;
NewCanvas: TCanvas);
begin
inherited
Create;
x:=NewX;
y:=NewY;
y1:=
1
;
x:=
250
;
y:=
250
;
Size:=NewSize;
MaxSize:=NewMaxSize;
Canvas:=NewCanvas;
show;
end
;
destructor
TFigure
.
destroy;
begin
hide;
inherited
destroy;
end
;
procedure
TFigure
.
Hide;
begin
canvas
.
Pen
.
Color:=ClBlack;
Canvas
.
Brush
.
Color:=Clblue;
canvas
.
Rectangle(x - (a
div
2
), y - (a
div
2
),
x + (a
div
2
), y + (a
div
2
));
end
;
<font color="Red"><b>
procedure
TFigure
.
Move;
begin
end
;</b></font>
procedure
TFigure
.
Show;
var
c:
array
[
1..4
]
of
TPoint;
b:
integer
;
d:
integer
;
const
a =
125
;
begin
canvas
.
Pen
.
Color:=ClBlack;
Canvas
.
Brush
.
Color:=Clblue;
canvas
.
Rectangle(x - (a
div
2
), y - (a
div
2
),
x + (a
div
2
), y + (a
div
2
));
d := Round(sqrt(
2
)*a);
b := Round(sqrt(
2
)*d);
c[
1
].x := x;
c[
1
].y := y + (b
div
4
);
c[
2
].x := x - (b
div
4
);
c[
2
].y := y;
c[
3
].x := x;
c[
3
].y := y - (b
div
4
);
c[
4
].x := x + (b
div
4
);
c[
4
].y := y;
canvas
.
Pen
.
Color:=ClBlack;
Canvas
.
Brush
.
Color:=Clwhite;
Canvas
.
Polygon(c);
canvas
.
Pen
.
Color:=Clblack;
Canvas
.
Brush
.
Color:=Clred;
Canvas
.
ellipse(x-(d
div
4
), y - (d
div
4
),x + (d
div
4
), y+(d
div
4
) );
end
;
procedure
TForm1
.
FormCreate(Sender: TObject);
begin
Figure:=TFigure
.
Create(Image1
.
ClientWidth
div
8
,
Image1
.
ClientWidth
div
4
,
Image1
.
ClientWidth
div
2
,
Image1
.
ClientWidth,
Image1
.
Canvas);
end
;
end
.