|
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, | |
Dialogs, ExtCtrls, Menus; | |
TForm1 = class(TForm) | |
Timer1: TTimer; | |
PopupMenu1: TPopupMenu; | |
N1: TMenuItem; | |
N2: TMenuItem; | |
N3: TMenuItem; | |
procedure FormActivate(Sender: TObject); | |
procedure Timer1Timer(Sender: TObject); | |
procedure FormMouseDown(Sender: TObject; Button: TMouseButton; | |
Shift: TShiftState; X, Y: Integer); | |
procedure FormCreate(Sender: TObject); | |
procedure N2Click(Sender: TObject); | |
procedure N1Click(Sender: TObject); | |
procedure N3Click(Sender: TObject); | |
{ Private declarations } | |
{ Public declarations } | |
Form1: TForm1; | |
x, y: array [1..20] of integer; | |
j, i, l, h, alfa, arg: integer; | |
procedure TForm1.FormActivate(Sender: TObject); | |
Form1.Left:=0; | |
Form1.Top:=0; | |
Form1.Height:=768; | |
Form1.Width:=1024; | |
for i:=2 to 20 do | |
begin | |
Form1.Canvas.LineTo(x[i], y[i]); | |
end; | |
procedure TForm1.Timer1Timer(Sender: TObject); | |
if (x[20]>=1024) or (x[20]<=0) or (y[20]>=768) or (y[20]<=0) | |
then arg:=arg+ alfa | |
else arg:=arg+ random(alfa*2 + 1)-alfa; | |
Form1.Canvas.MoveTo(x[1], y[1]); | |
Form1.Canvas.LineTo (x[2], y[2]); | |
for j:=1 to 19 do | |
begin | |
x[j]:=x[j+1]; | |
y[j]:=y[j+1]; | |
end; | |
x[20]:=x[19]+trunc(l*cos(arg*Pi/180)); | |
y[20]:=y[19]+trunc(l*sin(arg*Pi/180)); | |
Form1.Canvas.MoveTo(x[19], y[19]); | |
Form1.Canvas.LineTo(x[20], y[20]); | |
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; | |
Shift: TShiftState; X, Y: Integer); | |
Timer1.Enabled:= not Timer1.Enabled; | |
procedure TForm1.FormCreate(Sender: TObject); | |
for i:=1 to 20 do | |
begin | |
x[i]:=400+i*l; | |
y[i]:=400; | |
end; | |
Form1.Canvas.Pen.Width:=h; | |
Form1.Canvas.Pen.Color:=clGreen; | |
Form1.Canvas.Pen.Mode:=pmXor; | |
Form1.Canvas.MoveTo(x[1], y[1]); | |
Form1.Timer1.Enabled:= true; | |
procedure TForm1.N2Click(Sender: TObject); | |
Form1.Close; | |
procedure TForm1.N1Click(Sender: TObject); | |
Form1.Timer1.Enabled:=false; | |
Form1.Canvas.MoveTo(x[1], y[1]); | |
for i:=2 to 20 do | |
Form1.Canvas.LineTo(x[i], y[i]); | |
Form2.ShowModal; | |
procedure TForm1.N3Click(Sender: TObject); | |
Form3.ShowModal; | |