Написать программу перемещения круга стрелками в 4 стороны- Pascal(Паскаль)

uses crt,graph;
var gd,gm:integer;
    x,y,x1,y1:integer;{координаты центра круга}
    c1,c2:byte;{цвет круга}
    k:char;{символ нажатой клавиши}
    move:boolean;{переключатель рисования круга цветным и черным}
begin
gd:=detect;
Initgraph(gd,gm,'');
x:=20;y:=150;{начальное положение курсора}
c1:=12;c2:=0;{чвет, ярко-крачный и черный}
move:=true;{рисуем красным}
repeat
if keypressed then{если нажата клавиша}
  begin
    k:=readkey;{читаем ее символ}
    if k=#80 then{стрелка вниз}
      begin
        y1:=y;{новое значение у}
        x1:=x;{новое значение х}
        y:=y+5;{вниз на 5 пикселей}
        move:=true;{рисуем красным}
      end;
    if k=#72 then{ввер}
      begin
        y1:=y;
        x1:=x;
        y:=y-5;
        move:=true;
      end;
    if k=#77 then{вправо}
      begin
        y1:=y;
        x1:=x;
        x:=x+5;
        move:=true;
      end;
    if k=#75 then{влево}
      begin
        y1:=y;
        x1:=x;
        x:=x-5;
        move:=true;
      end;
  end;
if move then {если рисум}
  begin
   Setcolor(c2);{цвет красный}
   Circle(x1,y1,10);{граница круга}
   Setfillstyle(1,c2);{сплошная закраска красным}
   Fillellipse(x1,y1,10,10);{круг}
   Setcolor(c1);{тоже, но черным(стираем)}
   Circle(x,y,10);
   Setfillstyle(1,c1);
   Fillellipse(x,y,10,10);
   move:=false;{не рисуем}
  end;
until k=#27;{если Esc, то выход, в Вашей программе этот цикл  не надо}
closegraph
end.

Leave a Comment

− 1 = 1