Информатика 10-11. Книга 2. Практика алгоритмизации и программирования. Шауцукова Л.З. - 104 стр.

UptoLike

Составители: 

END.
Пример 8.7. Программа рисует человечка, делающего утреннюю зарядку.
Внимание: будет работать только если Turbo Pascal установлен в каталог
C:\TP и каталог C:\TP\BGI содержит необходимый файл egavga.bgi.
Program Animation;
Uses Crt, Graph;
{подключение к программе библиотек Crt и Graph}
Const {вертикальные и горизонтальные координаты положения рук}
Vert : Array[1..3] of Integer = (190, 157, 120);
Horizont : Array[1..3] of Integer = (200, 190, 200);
Var
GrDriver, GrMode, GrError, i, j : Integer;
BEGIN
GrDriver := Detect; InitGraph(GrDriver, GrMode, 'C:\TP\BGI');
GrError := GraphResult; If GrError <> GrOk then Halt;
SetColor(LightGray); { установка светлосерого цвета для рамки}
Rectangle(20, 20, 480, 400); {рисование рамки}
SetColor(LightCyan); {установка яркоголубого цвета для текста}
OutTextXY(200, 40, 'П Р И В Е Т !');
SetColor(LightGray); Circle (250, 130, 20); {голова}
SetColor(Yellow); Arc(250, 130, 0, 180, 26); {волосы}
Arc(250, 130, 0, 180, 24); Arc(250, 130, 0, 180, 22);
Line(250, 105, 244, 115); Line(250, 105, 250, 116); {чубчик}
Line(250, 105, 256, 115);
SetColor(LightCyan); Circle(241, 125, 4); {левый глаз }
Circle(259, 125, 4); {правый глаз}
SetColor(LightRed);
SetFillStyle(SolidFill, LightRed);
FillEllipse(250, 140, 6, 3); {рот }
Setcolor(Green);
Line(250, 152, 250, 220); {туловище }
Line(250, 220, 210, 290); {левая нога }
Line(250, 220, 290, 290); {правая
нога}
Repeat {цикл прерывается нажатием любой клавиши}
For i := 1 to 3 do {Последовательный вывод трех положений рук:}
begin { вниз, на уровне плеч, вверх }
SetColor(LightCyan); Sound(200*i);
Line(250, 157, Horizont[i], Vert[i]); {левая рука}
Line(250, 157, 500-Horizont[i], Vert[i]); {правая рука}
Delay(300); {задержка}
END.
  Пример 8.7. Программа рисует человечка, делающего утреннюю зарядку.




  Внимание: будет работать только если Turbo Pascal установлен в каталог
   C:\TP и каталог C:\TP\BGI содержит необходимый файл egavga.bgi.
Program Animation;
  Uses Crt, Graph;
       {подключение к программе библиотек Crt и Graph}
  Const {вертикальные и горизонтальные координаты положения рук}
    Vert     : Array[1..3] of Integer = (190, 157, 120);
    Horizont : Array[1..3] of Integer = (200, 190, 200);
  Var
    GrDriver, GrMode, GrError, i, j : Integer;
BEGIN
  GrDriver := Detect; InitGraph(GrDriver, GrMode, 'C:\TP\BGI');
  GrError := GraphResult; If GrError <> GrOk then Halt;
  SetColor(LightGray); { установка светлосерого цвета для рамки}
  Rectangle(20, 20, 480, 400); {рисование рамки}
  SetColor(LightCyan); {установка яркоголубого цвета для текста}
  OutTextXY(200, 40, 'П Р И В Е Т !');
  SetColor(LightGray); Circle (250, 130, 20); {голова}
  SetColor(Yellow); Arc(250, 130, 0, 180, 26); {волосы}
  Arc(250, 130, 0, 180, 24); Arc(250, 130, 0, 180, 22);
  Line(250, 105, 244, 115); Line(250, 105, 250, 116); {чубчик}
  Line(250, 105, 256, 115);
  SetColor(LightCyan); Circle(241, 125, 4); {левый глаз }
  Circle(259, 125, 4); {правый глаз}
  SetColor(LightRed);
  SetFillStyle(SolidFill, LightRed);
  FillEllipse(250, 140, 6, 3); {рот }
  Setcolor(Green);
  Line(250, 152, 250, 220); {туловище }
  Line(250, 220, 210, 290); {левая нога }
  Line(250, 220, 290, 290); {правая нога}
  Repeat {цикл прерывается нажатием любой клавиши}
    For i := 1 to 3 do {Последовательный вывод трех положений рук:}
      begin { вниз, на уровне плеч, вверх }
        SetColor(LightCyan); Sound(200*i);
        Line(250, 157, Horizont[i], Vert[i]); {левая рука}
        Line(250, 157, 500-Horizont[i], Vert[i]); {правая рука}
        Delay(300); {задержка}