[Back to TURTLE SWAG index]  [Back to Main SWAG index]  [Original]

(* ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
   ³ Programated by Vladimir Zahoransky                        ³
   ³                Vladko software                            ³
   ³ Contact      : zahoran@cezap.ii.fmph.uniba.sk             ³
   ³ Program tema : Oscilate the turtles !!!                   ³
   ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ *)

{
      This is the modification of lotturp03.pas. Here are all
  turtles oscilate. (draw sinus) They are defined in line and
  all turtles have good coefficient. This program modify
  obrys (OutLine) and Dopredu. Dopredu is virtual metod. We
  muth to modify it, because we want to do with coefficient.
}

Uses DynKor, DynVelaKor;

Type PMyTur=^MyTur;
      MyTur=object(Kor)
               k:real;
               Constructor Init(x,y,u:real);
               Procedure Obrys; virtual;
               Procedure Koef(kk:real);
               Procedure Dopredu(d:real); virtual;
             End;

Constructor MyTur.Init(x,y,u:real);
Begin
Kor.init(x,y,u); k:=1;
End;

Procedure MyTur.Koef(kk:real);
Begin
  k:=kk;
End;

Procedure MyTur.Dopredu(d:real);
Begin
kor.Dopredu(d*k);
End;

Procedure MyTur.Obrys;
Const dt=10; ut=40; ut0=112;
Var i:integer;
Begin
Krok(180-ut0/2,0);

For i:=1 to 5 do Begin
                 Krok(180-ut0,dt);
                 Krok(180+ut,dt);
                 End;

End;

Const n=60;         {how meny turtles}
      nn=640/n;
      r=20;         {speed of effekt}
      nr=200 div r;

var v:VelaKor;
    i:integer;

Begin

  With v do Begin
            init;
            For i:=1 to n do Begin
                             PridajKor(new(PMyTur,init(nn*i-320,0,0)));
                             PMyTur(k[pk])^.Koef(sin(nn*rad*i));
                             End;

    PH;
    Ukaz;

    Repeat
    For i:=1 to nr do Dopredu(r);
    For i:=1 to 2*nr do Dopredu(-r);
    For i:=1 to nr do Dopredu(r);
    Until false;

    Koniec;
    End;

End.

[Back to TURTLE SWAG index]  [Back to Main SWAG index]  [Original]