Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Сохраненные документы с флешки / tree / Unit1
.pas unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Math;
type
TForm1 = class(TForm)
Image1: TImage;
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
gd,gm: integer;
const
min=1;
implementation
{$R *.dfm}
procedure Tree(x,y,l,u:real; t:integer);
begin
if t>0 then
begin
randomize;
l:=l*0.7;
Form1.Image1.Canvas.Pen.Color:=random(255)+100;
Form1.Image1.Canvas.MoveTo(round(x),round(y));
Form1.Image1.Canvas.Lineto(Round(x + l * cos(u)),Round(y - l * sin(u)));
x := Round(x+l * cos(u));
y := Round(y-l * sin(u));
dec(t);
Tree(x, y, l, u+pi/4, t);
Tree(x, y, l, u-pi/4, t);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
n:integer;
p:real;
begin
n:=strtoint(Edit1.Text);
p:= strtofloat(Edit2.Text);
Tree(300, 400,p, pi/2,n);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
halt;
end;
end.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Math;
type
TForm1 = class(TForm)
Image1: TImage;
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
gd,gm: integer;
const
min=1;
implementation
{$R *.dfm}
procedure Tree(x,y,l,u:real; t:integer);
begin
if t>0 then
begin
randomize;
l:=l*0.7;
Form1.Image1.Canvas.Pen.Color:=random(255)+100;
Form1.Image1.Canvas.MoveTo(round(x),round(y));
Form1.Image1.Canvas.Lineto(Round(x + l * cos(u)),Round(y - l * sin(u)));
x := Round(x+l * cos(u));
y := Round(y-l * sin(u));
dec(t);
Tree(x, y, l, u+pi/4, t);
Tree(x, y, l, u-pi/4, t);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
n:integer;
p:real;
begin
n:=strtoint(Edit1.Text);
p:= strtofloat(Edit2.Text);
Tree(300, 400,p, pi/2,n);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
halt;
end;
end.