Круг летает по экрану, начальный цвет случайный. При столкновении с правой границей экрана меняет цвет на синий, с левой — на красный, с верхней — на зеленый, с нижней — на желтый — Pascal(Паскаль)

uses crt,graph;
var
 gd,gm:integer;
procedure krug(x,y:integer;c:byte);
begin
 setcolor(c);
 setfillstyle(1,c);
 circle(x,y,5);
 floodfill(x,y,c);
end;
procedure init;
begin
 gd:=installuserdriver('svga256',nil);
 gm:=2;
 initgraph(gd,gm,'');
end;
procedure main;
var
 x,y,cx,cy:integer;
 ch:char;
 color:byte;
begin
randomize;
 color:=random(15)+1;
 cx:=1;
 cy:=1;
 x:=15;
 y:=50;
repeat
if keypressed then ch:=readkey;
delay(150);
setfillstyle(1,0);
bar(x-6,y-6,x+6,y+6);
x:=x+cx*10;
y:=y+cy*10;
if y<15 then begin cy:=1; color:=green;end;
if x<15 then begin cx:=1; color:=red;end;
if x>625 then begin cx:=-1;color:=blue;end;
if y>465 then begin cy:=-1;color:=yellow;end;
krug(x,y,color);
until ch=#27;
end;
begin
 init;
 main;
end.

Leave a Comment

+ 77 = 82