[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 : Points in coordinate system                ³
       ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ *)

    {
        This program draw points in coordinate system. This program use
      graphp01.pas. (here is graph01.pas, because there is defined just
      coordinate system) This program init the point turtle (not in
      Mygraph, because there we want to have metods for coordinate system)
      and draw the coordinate lines to coordinates. (x,y) This metod is
      very easy to undestand. Draw the parts in 20 point and finish line
      to coordinate. In 20 points part are 15 points in Pd and 5 points in
      Pd. (15 draw, 5 not draw) In math are all coordinate lines drawing to
      coordinates. I draw parts (20 points) to coordinate and if for other
      part is not space then draw the line of points to coordinate. (5 points
      I drawed not in finish part, because they are in last part) Then I
      make presunXY for writeing the name of point. I muth to modify presunXY,
      because other situation is in quadrant 1 or quadrant 4. (this are if
      constructions in draw_lines) In math are names capital letter. The
      capital letter are only 26. This program can draw only 26 points to
      coordinate system.  (in this version are not in letters some index)
    }

    Uses Okor;
    Type Mygraph=Object(kor)
                 Procedure Init;
                 Procedure Coordinate_system;
                 End;

    Procedure Mygraph.Init;
    Begin
    kor.init(0,0,0);
    End;

    Procedure Mygraph.Coordinate_system;
    Var i:integer;
    Begin
    ZmenFp(15);
    PresunXY(-320,0);
    ZmenXY(320,0);
    PresunXY(315,5);
    ZmenXY(320,0);
    ZmenXY(315,-5);
    PresunXY(310,-10);
    Pis('x');

    PresunXY(0,-240);;
    ZmenXY(0,240);
    PresunXY(-5,235);
    ZmenXY(0,240);
    ZmenXY(5,235);
    PresunXY(8,230);
    Pis('y');

    For i:=0 to 32 do Begin
                      PresunXY(-320+20*i,-3);
                      ZmenXY(-320+20*i,3);
                      End;

    For i:=0 to 23 do Begin
                      PresunXY(-3,-240+20*i);
                      ZmenXY(3,-240+20*i);
                      End;

    End;

    Type Point=Object(kor)
               x,y:real;
               ch:char;
               Procedure Init(x1,y1:real; ch1:char);
               Procedure Draw_lines;
               End;

    Procedure Point.Init(x1,y1:real; ch1:char);
    Begin
    x:=x1;
    y:=y1;
    ch:=ch1;
    kor.init(x1,y1,0);
    End;

    Procedure Point.Draw_lines;
    Var i:integer;
        xp,yp:real;
    Begin
    If y>=0 Then Vlavo(180);
    For i:=1 to round(abs(y)/20)-1 do Begin
                                     Pd;
                                     Dopredu(15);
                                     Ph;
                                     Dopredu(5);
                                     End;
    Pd;
    Dopredu(abs(ysur-1));
    Ph;
    Domov;

    If x>0 Then Vlavo(90)
           Else Vpravo(90);

    For i:=1 to round(abs(x)/20)-1 do Begin
                                     Pd;
                                     Dopredu(15);
                                     Ph;
                                     Dopredu(5);
                                     End;
    Pd;
    Dopredu(abs(xsur-1));
    Ph;
    Domov;

    If x>=0 Then if y>=0 Then PresunXY(x+8,y+8)
                         Else PresunXY(x+8,y-8)
            Else if y>=0 Then PresunXY(x-8,y+8)
                         Else PresunXY(x-8,y-8);

    Pis(ch);
        End;

    Var
        Mg:Mygraph;
         P:Point;
         I:integer;

    Begin
    Randomize;
    With Mg do Begin
               Init;
               Coordinate_system;
               End;

    For i:=1 to 10 do
    With p do Begin
              Init(-320+random(640),-240+random(480),chr(64+i));
              ZmenFp(1+i mod 14);
              Draw_lines;
              CakajKlaves;
              Koniec;
              End;

    End.

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