Jelajahi Sumber

Updated program examples

Artur Efimov 8 tahun lalu
induk
melakukan
b70fa5b731
4 mengubah file dengan 8 tambahan dan 9 penghapusan
  1. 2 0
      Programs/BlitBmp.Mod
  2. 2 0
      Programs/BlitBmp2.Mod
  3. 3 7
      Programs/Mandelbrot.Mod
  4. 1 2
      Programs/Mandelbrot2.Mod

+ 2 - 0
Programs/BlitBmp.Mod

@@ -3,7 +3,9 @@ IMPORT G := Graph;
 VAR s, b: G.Bitmap;
 BEGIN
   s := G.Init();
+  IF s = NIL THEN HALT(3) END;
   b := G.LoadBitmap('data/examples/rocket.png');
+  IF b = NIL THEN HALT(4) END;
   G.BlitWhole(b, s, 100, 60);
   G.Flip; G.Pause; G.Close
 END BlitBmp.

+ 2 - 0
Programs/BlitBmp2.Mod

@@ -6,7 +6,9 @@ VAR s, b: G.Bitmap;
   i: INTEGER;
 BEGIN
   s := G.Init();
+  IF s = NIL THEN HALT(3) END;
   b := G.LoadBitmap('data/examples/rocket.png');
+  IF b = NIL THEN HALT(4) END;
   FOR i := 0 TO N - 1 DO
     x[i] := s.w * G.Uniform();
     y[i] := s.h * G.Uniform();

+ 3 - 7
Programs/Mandelbrot.Mod

@@ -1,7 +1,6 @@
 MODULE Mandelbrot;
 IMPORT G := Graph;
 VAR s: G.Bitmap;
-  black: INTEGER;
 
 PROCEDURE Go(sx, sy: INTEGER; x, y: REAL);
 CONST iter = 768;
@@ -12,8 +11,7 @@ BEGIN re := x; im := y; i := 0;
     im := 2 * re * im; re := re2;
     re := re + x; im := im + y; INC(i)
   UNTIL (i = iter) OR (re * re + im * im > 4);
-  IF i = iter THEN G.PutPixel(s, sx, sy, black)
-  ELSE i := i * 5;
+  IF i # iter THEN i := i * 5;
     IF i > 255 THEN i := 255 END;
     G.PutPixel(s, sx, sy, G.MakeCol(i, 0, 0))
   END
@@ -23,11 +21,9 @@ PROCEDURE Do;
 VAR x, y: INTEGER;
   x0, y0, x1, y1: REAL;
 BEGIN G.Settings(0, 0, {G.fullscreen});
-  s := G.Init();
-  black := G.MakeCol(0, 0, 0);
+  s := G.Init(); G.Flip;
   y0 := 1; y1 := -1;
-  x1 := 2 * s.w / s.h / 3;
-  x0 := -x1 * 2;
+  x1 := 2 * s.w / s.h / 3; x0 := -x1 * 2;
   FOR y := 0 TO s.h - 1 DO
     FOR x := 0 TO s.w - 1 DO
       Go(x, y, x0 + x / (s.w - 1) * (x1 - x0),

+ 1 - 2
Programs/Mandelbrot2.Mod

@@ -55,7 +55,7 @@ BEGIN G.Settings(0, 0, {G.fullscreen});
     END
   END;
   angle := 0; col := 0;
-  REPEAT Draw; angle := angle + M.pi / 360;
+  REPEAT Draw; angle := angle + M.pi / 180;
     IF angle > M.pi * 2 THEN
       angle := angle - M.pi * 2;
       col := (col + 1) MOD 7;
@@ -68,4 +68,3 @@ END Do;
 BEGIN
   Do
 END Mandelbrot2.
-