Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл: Источник:
Скачиваний:
326
Добавлен:
04.03.2014
Размер:
2 Кб
Скачать
Program Timer;
uses graph,crt;
var
   d,r,r1,r2,rr,k,x1,x2,y1,y2,x01,y01,e:integer;
   Xasp,Yasp:word;
begin
clrscr;
  d:=detect;
  InitGraph(d,r,'');
  k:=GraphResult;
      If k<>grok then writeln(GraphErrorMSG(k)) else
      begin
      x1:=GetMaxX div 2;
      y1:=GetMaxY div 2;
      GetAspectRatio(Xasp,Yasp);
         r:=round(2*GetMaxY*Yasp/8/Xasp);
         r1:=round(0.7*r);
         r2:=round(0.75*r);
            Circle(x1,y1,r);
            Circle(x1,y1,round(1.02*r));
            Circle(x1,y1,5);
            Circle(x1,y1,200);
            Line(0,100,160,100);
              setbkcolor(red);
             For k:=0 to 59 do
                begin
                 If k mod 5=0 then rr:=r1+15 else rr:=r2+15;
                    x01:=x1+Round(rr*sin(2*pi*k/60));
                    y01:=y1-Round(rr*Xasp*cos(2*pi*k/60)/Yasp);
                    x2:=x1+Round(r*sin(2*pi*k/60));
                    y2:=y1-Round(r*Xasp*cos(2*pi*k/60)/Yasp);
                    line(x01,y01,x2,y2)
                end;
        SetWriteMode(XORPut);
        SetLineStyle(SolidLn,0,ThickWidth);
        r:=0;
           repeat
                 for k:=0 to 59 do
                  if not KeyPressed then
                    begin
                      x2:=x1+Round(0.85*r1*sin(2*pi*r/60/12));
                      y2:=y1-Round(0.85*r1*Xasp*cos(2*pi*r/60/12)/Yasp);
                      x01:=x1+Round(r2*sin(2*pi*k/60));
                      y01:=y1-Round(r2*Xasp*cos(2*pi*k/60)/Yasp);
                      line(x1,y1,x2,y2);
                      line(x1,y1,x01,y01);
                      Delay(1000);
                      line(x1,y1,x01,y01);
                      line(x1,y1,x2,y2);
                         inc(r);
                          If r=12*60 then r:=0
                     end
        until KeyPressed;
         If ReadKey=#0 then k:=ord(ReadKey);
         CloseGraph
      end;
      end.