помогите анимировать солнце program qq; uses GraphABC; var

Помогите анимировать солнце
program qq; uses GraphABC; var x,h:real;
i,N,r,k,c:integer;
begin
N:=10;
c:=8;
begin
k:=1;
r:=100;
i:=1;
repeat
SetBrushColor(rgb(230-k,230-k,0));
circle(200,200,r);
k:=k+20;
i:=i+1;
r:=r-20;
until i=c;
end;
Rectangle (0,580,1920,1018);
FlooDfill (1,581,cllime);
FlooDfill (10,4,clblue);




Rectangle (800,380,1100,680);
h:=(1100-800)/(N+1);
x:=800+h;
for i:=1 to N do
begin
Line (round(x),380,round(x),680);
x:=x+h;
end;
FlooDfill (801,381,clbrown);
FlooDfill (829,381,clbrown);
FlooDfill (857,381,clbrown);
FlooDfill (885,381,clbrown);
FlooDfill (910,381,clbrown);
FlooDfill (938,381,clbrown);
FlooDfill (966,381,clbrown);
FlooDfill (994,381,clbrown);
FlooDfill (1022,381,clbrown);
FlooDfill (1050,381,clbrown);
FlooDfill (1078,381,clbrown);
Rectangle (900,480,1000,590);
FlooDfill (901,481,clgray);
Rectangle (904,484,996,530);
FlooDfill (905,485,clyellow);
Rectangle (904,534,950,586);
FlooDfill (905,535,clred);
Rectangle (954,534,996,586);
FlooDfill (955,535,clblue);
Line (950,300,1100,380);
Line (800,380,950,300);
Line (800,380,1100,380);
FlooDfill (1036,379,clgray);
FlooDfill (950,350,clsilver);
Circle (950,340,30);
FlooDfill (950,340,clred);


Rectangle (305,615,280,624);
FlooDfill (291,616,clgreen);
Rectangle (350,600,330,670);
FlooDfill (340,650,clgreen);
Rectangle (400,600,420,670);
FlooDfill (410,650,clgreen);
Circle (470,600,30);
FlooDfill (470,600,clgreen);
Circle (480,580,10);
FlooDfill (480,580,clwhite);
Circle (482,582,2);
FlooDfill (482,582,clblack);
Rectangle (480,600,500,604);
FlooDfill (484,602,clred);
Ellipse (300,590,450,650);
FlooDfill (350,600,clbrown);
end.

Задать свой вопрос
Mavrycheva Aljona
а что обязано быть?
Регина Гарслян
во первых предлагаю из безусловных координат перейти в условные
Валентина Горченкова
позже каждый обьект творить раздельно
1 ответ
// PascalABC.NET 3.1, сборка 1218 от 12.04.2016
uses GraphABC;

procedure Sun(x, y: integer);
begin
  var c := 8;
 
  for var j := 1 to 100 do
  begin
    var r := 15 * c;
    var k := 0;
    if j mod 2 = 0 then k := 20;
    
    for var i := 0 to c do
    begin
      Brush.Color := RGB(230 - k, 230 - k, 0);
      Circle(x, y, r);
      k := k + 15;
      r := r - 15;
      sleep(100);
    end;
  end;
end;

procedure House(x, y: integer);
begin
  Brush.Color := clBrown;
  Pen.Color := clBurlyWood;
  var house_width := 300;
  var house_height := 300;
  var count := 10;
  var step := round(house_width / count);
 
  FillRectangle(x, y, x + house_width, y + house_height);
 
  var xx := x;
  for var i := 1 to count - 1 do
  begin
    xx := xx + step;
    Line(xx, y, xx, y + house_height);
  end;
 
  Brush.Color := clGray;
  FillRectangle(x + 100, y + 100, x + 200, y + 210);
  Brush.Color := clYellow;
  FillRectangle(x + 105, y + 105, x + 195, y + 150);
  Brush.Color := clRed;
  FillRectangle(x + 105, y + 155, x + 150, y + 205);
  Brush.Color := clBlue;
  FillRectangle(x + 155, y + 155, x + 195, y + 205);
 
  MoveTo(x + house_width div 2, y - 80);
  LineTo(x + house_width, y, Pen.Color);
  LineTo(x, y, Pen.Color);
  LineTo(x + house_width div 2, y - 80, Pen.Color);
  FlooDfill(x + house_width div 2, y - 10, clOlive);
 
  Brush.Color := clRed;
  Circle(x + house_width div 2, y - 35, 30);
end;

procedure Turtoise(x, y: integer);
begin
  Brush.Color := clGreen;
  Pen.Color := clGreen;
  FillRectangle(x + 5, y + 15, x - 20, y + 24);
  FillRectangle(x + 50, y, x + 30, y + 70);
  FillRectangle(x + 100, y, x + 120, y + 70);
  FillCircle(x + 170, y, 30);
 
  Brush.Color := clWhite;
  FillCircle(x + 180, y - 20, 10);
 
  Brush.Color := clBlack;
  FillCircle(x + 182, y - 18, 2);
  Brush.Color := clRed;
  FillRectangle(x + 180, y, x + 200, y + 4);
  Brush.Color := clBrown;
  FillEllipse(x, y - 10, x + 150, y + 50);
end;

begin
  Window.Init(0, 0, 1920, 1000, clBlue);
  Brush.Color := clLimeGreen;
  Rectangle(0, 580, 1920, 1018);
 
  House(700, 380);
  Turtoise(300, 600);
  Turtoise(900, 750);
  Sun(1200, 200);
end.
, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость

Физика.

Из точки м выходят 3 луча MP MN и MK причём

Геометрия.

выпиши в свою тетрадь те правила этикета которые тебе не были

Разные вопросы.

Анна хорошо учится у неё много подруг свободное от учёбы время

Обществознание.

10) Килограмм конфет дороже килограмма печенья на 52 р. За 8

Математика.

Во сколько раз число атомов кислорода в земной коре больше числа

Химия.

Составить монолог от имени дневника двоечника 7-10 предложений

Русский язык.

Рассматривая литературный язык как сложное взаимодействие книжного языка и разговорного,В.И.Чернышёв горячо

Разные вопросы.

Арабы входят в __________________ групп народов. Местом расселения арабов с незапамятных

Разные вопросы.

Грузовой автомобиль марки краз за одну поездку может доставить 7.500 кирпичей

Математика.

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт