Составьте программу в Graph ABC с имитацией движения на свободную тему.

дариямир12 дариямир12    1   21.03.2022 20:30    2

Ответы
черныйЗайка черныйЗайка  21.03.2022 20:40

Uses GraphABC;

const MaxShar=50;

type shar = record

           x,y:integer;

           dx,dy:integer;

           end;

var i:byte;

   x,y,r:integer;

   shars: array[1..MaxShar] of shar;

begin

randomize;

setwindowsize(500,500);

centerwindow;

r:=10;

setpenwidth(3);

for i:=1 to MaxShar do

with shars[i] do

begin

 x:=7+r+random(500-2*r-14);

 y:=7+r+random(500-2*r-14);

 dx:=random(8) + 1;

 dy:=random(8) + 1;

end;

lockdrawing;

repeat

clearwindow;

for i:=1 to MaxShar do

with shars[i] do

begin

 x:=x+dx;

 if (x+r+dx>=493) or (x-r+dx<=7) then dx:=-dx;

 y:=y+dy;

 if (y+r+dy>=493) or (y-r+dy<=7) then dy:=-dy;

 setpencolor(clBlue);

 setbrushcolor(clBlue);

 circle(x,y,r);

end;

setpencolor(clBlack);

setpenwidth(3);

moveto(5,5);

lineto(495,5);

lineto(495,495);

lineto(5,495);

lineto(5,5);

sleep(1);

redraw;

until false;

end.

Примечание:

В конце программы есть команда sleep(), чем больше в ней значение, тем меньше скорость шариков. Также её можно просто убрать, тогда скорость будет максимальной.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика