home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* CIRCLE.PAS *)
- (* Kreisalgorithmus zur MCGA-Unit aus toolbox 10'89 *)
- (* (c) 1990 Philipps & TOOLBOX *)
- (* ------------------------------------------------------ *)
-
- PROCEDURE Circle(xmitte, ymitte, radius, farbe: INTEGER);
- VAR
- x, y, md,
- od, sd : INTEGER;
-
- BEGIN
- y := 0; x := radius; md := 0;
- REPEAT
- Plot(xmitte + x, ymitte + y, farbe);
- Plot(xmitte - x, ymitte + y, farbe);
- Plot(xmitte - x, ymitte - y, farbe);
- Plot(xmitte + x, ymitte - y, farbe);
- Plot(xmitte + y, ymitte + x, farbe);
- Plot(xmitte - y, ymitte + x, farbe);
- Plot(xmitte - y, ymitte - x, farbe);
- Plot(xmitte + y, ymitte - x, farbe);
- od := md + y + y + 1; { Distanz bei Schritt nach oben }
- sd := od - x - x + 1; { Distanz bei Schrägschritt }
- y := y + 1; md := od;
- IF Abs(sd) < Abs(od) THEN
- BEGIN
- Dec(x);
- md := sd;
- END
- UNTIL x < y;
- END;