Креирати апликацију у delphi-ју у којој се по форми креће лоптица, када наиђе на ивицу прозора одбија се и наставља да се креће у супротном правцу. Може се убацити и нека вредност помоћу које се регулише брзина кретања, нпр. ако пада доле да се убрза и сл.

image

 

 

лоптица је ударила у горњу ивицу прозора и почела да пада доле

 

 

 

Решење:

У овом примеру је за лоптицу коришћена компонента Shape димензија 50×50. Лоптица се креће хоризонтално и вертикално, горе или доле, лево или десно. Ако се креће на доле или на десну страну, повећава се вредност својста Left, односно Top, за неки одређени корак (у датом решењу је 10). Ако се лоптица креће горе или у лево, та својства се смањују за исти корак. То се може постићи променом знака кретања, позитивно за десно и доле, негативно за лево и горе.

var
  Form1: TForm1;  vert,hor,gr:integer;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
vert:=1;
hor:=1;

gr:=5;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin

  if (Shape1.Left>clientwidth-50) and (hor=1) then  begin
  hor:=-hor;
   end;
if (shape1.Left<0) and (hor=-1) then  begin
  hor:=-hor;
  end;
  if (shape1.Top<0) and (vert=-1) then  begin
    vert:=-vert;
       end;
    if (shape1.Top>clientheight-50) and (vert=1) then  begin
     vert:=-vert;
     end;
shape1.Left:=shape1.Left+10*hor;
shape1.Top:=shape1.Top+10*vert+gr;

  end;

end.

Advertisements