Креирати апликацију у delphi-ју у којој се  на сваки секунд појављује лоптица, сваки пут друге величине (задати најмању и највећу могућу лоптицу) и друге боје. Кликом на лоптицу се добија један бод. Треба да се прикаже и број покушаја и број погодака, као и време играња (при стартовању је 0:0:0). На одређен број погодака (у примеру је за пет) се и убрзава приказивање лоптице. 

image image

Решење:

var
  Form1: TForm1;  a,b,br,uk,m:integer;  x1,y1,dx:integer;  sat,min,sek:integer;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
a:=clientwidth;
b:=clientheight;
br:=0;
uk:=0;
m:=1;
sat:=0;
min:=0;
sek:=0;
end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);

begin
   uk:=uk+1;
if(X<(x1+dx))and(X>x1)and(y<(y1+dx))and(y>y1)then br:=br+1;
label1.Caption:=inttostr(br);
label4.Caption:=inttostr(uk);
if br>5*m then
      begin
timer1.Interval:=round(timer1.Interval*0.75);   m:=m+1;
      end;

end;

procedure TForm1.FormPaint(Sender: TObject);

begin
dx:=random(80)+30;
x1:=random(a-dx)+1;
y1:=random(b-dx)+1;
  canvas.Brush.Color:=rgb(random(255),random(255),random(255));
canvas.Ellipse(x1,y1,x1+dx,y1+dx);

end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
repaint;

end;

procedure TForm1.Timer2Timer(Sender: TObject);

begin
sek:=sek+1;
if sek>59 then
begin min:=min+1;sek:=0; if min>59 then begin min:=0;sat:=sat+1;end;end;

label5.Caption:=inttostr(sat)+’:’+inttostr(min)+’:’+inttostr(sek);
end;

end.

Advertisements