home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / library / dos / grafik / fgl105 / 06-01.c < prev    next >
Encoding:
Text File  |  1991-05-05  |  1.1 KB  |  55 lines

  1. main()
  2. {
  3.    int area;
  4.    int color, old_color;
  5.    int left;
  6.    int max_color, max_x, max_y;
  7.    int new_mode, old_mode;
  8.    int x, y;
  9.  
  10.    old_mode = fg_getmode();
  11.    new_mode = fg_automode();
  12.    fg_setmode(new_mode);
  13.  
  14.    if (new_mode == 4)
  15.       max_color = 3;
  16.    else if (new_mode == 11 || new_mode == 17)
  17.       max_color = 1;
  18.    else if (new_mode == 19)
  19.       max_color = 255;
  20.    else
  21.       max_color = 15;
  22.  
  23.    left = 100;
  24.    max_x = fg_getmaxx() - 1;
  25.    max_y = fg_getmaxy() - 1;
  26.  
  27.    while (left > 0) {
  28.  
  29.       x = random(1,max_x);
  30.       y = random(1,max_y);
  31.  
  32.       area = fg_getpixel(x-1,y-1) + fg_getpixel(x,y-1) + fg_getpixel(x+1,y-1)
  33.            + fg_getpixel(x-1,y)   + fg_getpixel(x,y)   + fg_getpixel(x+1,y)
  34.            + fg_getpixel(x-1,y+1) + fg_getpixel(x,y+1) + fg_getpixel(x+1,y+1);
  35.  
  36.       if (area == 0) {
  37.          color = random(1,max_color);
  38.          fg_setcolor(color);
  39.          fg_point(x,y);
  40.          left--;
  41.          }
  42.       }
  43.  
  44.    fg_waitkey();
  45.  
  46.    fg_setmode(old_mode);
  47.    fg_reset();
  48. }
  49.  
  50. random(min,max)
  51. int min, max;
  52. {
  53.    return((rand() % (max - min + 1)) + min);
  54. }
  55.