home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / snip9707.zip / BHAMDEMO.C < prev    next >
C/C++ Source or Header  |  1997-07-05  |  1KB  |  41 lines

  1. /* +++Date last modified: 05-Jul-1997 */
  2.  
  3. /*
  4. **  BHAMDEMO.C
  5. **
  6. **  Demonstration of Bresenham algorithms for line and circle.
  7. **  public domain by Kurt Kuzba
  8. */
  9.  
  10. #include <stdio.h>
  11. #include <stdlib.h>
  12. #include <conio.h>
  13.  
  14. #include "bresnham.h"
  15.  
  16. int main()
  17. {
  18.       unsigned d = 0, c = 0, color = 0, lines[473][2];
  19.  
  20.       srand(*((unsigned*)0x46c));
  21.       setmode(0x13);    /* set to color graphics mode, clearing screen  */
  22.       bresenham_circle(160, 100, 75, 15);
  23.       for (d = 0; d < 64000l; d++)
  24.       {
  25.             if(*((char far*)0xa0000000l + d) == 15)
  26.                   lines[c][1] = d / 320, lines[c++][0] = d % 320;
  27.       }
  28.       while (*((char far*)0x41a) == *((char far*)0x41c))
  29.       {
  30.             bresenham_circle(160, 100,
  31.                   (++color & 127) + 80, (color / 5 ) & 255);
  32.             d = rand() % 465 + 4;
  33.             c = (d + 3) % 472;
  34.             bresenham_line(lines[d][0], lines[d][1],
  35.                   lines[c][0], lines[c][1], color & 255);
  36.       }
  37.       setmode(0x03);    /* set to color text mode, clearing screen      */
  38.       getch();
  39.       return 0;
  40. }
  41.