home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / crm_demo / p_pascal / turtle / hilbert.pas < prev    next >
Pascal/Delphi Source File  |  1992-05-27  |  888b  |  45 lines

  1. PROGRAM Hilbert;
  2.  
  3. USES Turtles;
  4.  
  5. TYPE    TurtleGraphik    =    OBJECT(Turtle)
  6.                                 PROCEDURE Hilbert(Grad, Seite : WORD; r : BOOLEAN);
  7.                             END;
  8.  
  9. PROCEDURE TurtleGraphik.Hilbert(Grad, Seite : WORD; r : BOOLEAN);
  10. VAR    Richtung    : INTEGER;
  11. BEGIN
  12.     IF Grad > 0 THEN
  13.     BEGIN
  14.         IF r THEN
  15.             Richtung    := 1
  16.         ELSE
  17.             Richtung    := -1;
  18.         DEC(Grad);
  19.         Turn(-Richtung * 90);
  20.         SELF.Hilbert(Grad, Seite, NOT(r));
  21.         Forward(Seite);
  22.         Turn(Richtung * 90);
  23.         SELF.Hilbert(Grad, Seite, r);
  24.         Forward(Seite);
  25.         SELF.Hilbert(Grad, Seite, r);
  26.         Turn(Richtung * 90);
  27.         Forward(Seite);
  28.         SELF.Hilbert(Grad, Seite, NOT(r));
  29.         Turn(-Richtung * 90)
  30.     END
  31. END;
  32.  
  33. VAR    MyTurtle    : TurtleGraphik;
  34.  
  35. BEGIN
  36.     MyTurtle.Init;
  37.     IF NOT(MyTurtle.Error) THEN
  38.     BEGIN
  39.         MyTurtle.Default(-975, -975, 90);
  40.         MyTurtle.Hide;
  41.         MyTurtle.Hilbert(6, 25, TRUE);
  42.         MyTurtle.Show;
  43.         MyTurtle.Done
  44.     END
  45. END.