unit
Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm1 =
class
(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
Button1: TButton;
procedure
FormCreate(Sender: TObject);
procedure
Panel4Click(Sender: TObject);
procedure
Panel1Click(Sender: TObject);
procedure
Panel2Click(Sender: TObject);
procedure
Panel3Click(Sender: TObject);
private
public
end
;
var
Form1: TForm1;
implementation
{$R *.dfm}
const
n=
50
;
var
p:
array
[
1..
n,
1..
n]
of
tpanel;
procedure
TForm1
.
FormCreate(Sender: TObject);
var
t,c,i,k:
integer
;
begin
for
i:=
1
to
n
do
for
k:=
1
to
n
do
begin
p[i,k]:=tpanel
.
Create(form1);
p[i,k].Left:=
58
+k*
5
;
p[i,k].Top:=
46
+i*
5
;
p[i,k].Width:=
5
;
p[i,k].Height:=
5
;
p[i,k].Color:=c;
p[i,k].Parent:=form1;
end
;
end
;
procedure
prov;
var
t,c:
integer
;
Begin
case
t
of
0..100
:c:=clblue;
101..200
:c:=clTeal;
201..300
:c:=clskyblue;
301..400
:c:=claqua;
401..500
:c:=cllime;
501..600
:c:=clpurple;
601..700
:c:=clfuchsia;
701..800
:c:=clred;
end
;
end
;
procedure
TForm1
.
Panel4Click(Sender: TObject);
var
t,t1,c:
integer
;
begin
t:=random(
801
);t1:=t;
prov;
panel1
.
Color:=c;
end
;
procedure
TForm1
.
Panel1Click(Sender: TObject);
var
t,t2,c:
integer
;
begin
t:=random(
801
);t2:=t;
prov;
panel2
.
Color:=c;
end
;
procedure
TForm1
.
Panel2Click(Sender: TObject);
var
t,t3,c:
integer
;
begin
t:=random(
801
);t3:=t;
prov;
panel3
.
Color:=c;
end
;
procedure
TForm1
.
Panel3Click(Sender: TObject);
var
t,t4,c:
integer
;
begin
t:=random(
801
);t4:=t;
prov;
panel4
.
Color:=c;
end
;
procedure
TForm1
.
Timer1Timer(Sender: TObject);
var
i,k:
integer
;
a:
array
[
0..1
,
0..
n+
1
,
0..
n+
1
]
of
integer
;
begin
for
i:=
1
to
n
do
for
k:=
1
to
n
do
begin
t:=round((a[l,i-
1
,k]+a[l,i,k-
1
]+a[l,i,k+
1
]+a[l,i+
1
,k])/
4
);
a[
1
-l,i,k]:=t; prov; p[i,k].Color:=c;
end
;
l:=
1
-l;
end
;
if
timer1
.
Enabled=
false
then
begin
timer1
.
Enabled:=
true
; button1
.
Caption:=
'Stop'
;
end
else
begin
timer1
.
Enabled:=
false
; button1
.
Caption:=
'Start'
;
end
;
end
.