home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1989 / 10 / titel / mcgademo.c < prev    next >
Encoding:
C/C++ Source or Header  |  1989-09-08  |  2.4 KB  |  131 lines

  1. /*                    MCGADEMO.C                     */
  2. /*                 (C) 1989 TOOLBOX                  */
  3. /*       Das Programm demonstriert die Anwendung     */
  4. /*          des MCGA-Headers in Turbo C 2.0          */
  5.  
  6. #include <conio.h>
  7. #include <dos.h>
  8. #include <stdio.h>
  9. #include "mcga.h"
  10.  
  11. typedef struct { char r,g,b;} onereg;
  12. typedef onereg TColorRegBuf[256];
  13.  
  14. main()
  15.  
  16. {
  17.   int x,y,color,rot,gruen,blau;
  18.   char c;
  19.   TColorRegBuf regbuf;
  20.   long int i;
  21.  
  22.   initgraphic();
  23.   clearscreen (203);
  24.   for (x = 16;x<161; x++) {
  25.     box (x,x,319-x,199-x,x);
  26.   }
  27.   x = 16; y = 1;
  28.   do {
  29.     x += y;
  30.     if ((x == 16) || (x == 31)) y = -y;
  31.     setcursor (10,12);
  32.     print(" MCGA = 256 Farben ",x);
  33.     delay(20);
  34.   } while (kbhit() == 0);
  35.   c = getch();
  36.  
  37.   color = 1;
  38.   for (y = 0; y < 40; y++) {
  39.     line(0,100,319,y*5,color);
  40.     color++;
  41.   }
  42.   for (y = 0; y < 40; y++) {
  43.     line(0,y*5,319,100,color);
  44.     color++;
  45.   }
  46.  
  47.   delay(2000);
  48.  
  49.   mcgasave("test2.scr");
  50.   clearscreen(255);
  51.   delay(2000);
  52.   mcgaload("test2.scr");
  53.   delay(2000);
  54.  
  55.   colorbox(0,190,319,199,150);
  56.   /* Eine Farbe variieren */
  57.   c = '\0';
  58.   i = 0;
  59.   while ((i < 262144L) && (c == 0)) {
  60.     i++;
  61.     readcolor(150,&rot,&gruen,&blau);
  62.     blau++;
  63.     if (blau > 63) {
  64.       blau = 0;
  65.       gruen++;
  66.       if (gruen > 63) {
  67.     gruen = 0;
  68.     rot++;
  69.     if (rot > 63) {
  70.       rot = 0;
  71.     }
  72.       }
  73.     }
  74.     setcolor(150,rot,gruen,blau);
  75.     if (kbhit() != 0) c = getch();
  76.   }
  77.  
  78.   clearscreen (255);
  79.   for (x=16 ; x < 161 ;x++) {
  80.     box (x,x,319-x,199-x,x);
  81.   }
  82.  
  83.   /* Alle Farben "cyclen" */
  84.   rot = gruen = blau = 0;
  85.   for (color = 0;color<256; color++) {
  86.     regbuf[color].b = blau;
  87.     regbuf[color].g = gruen;
  88.     regbuf[color].r = rot;
  89.     blau+=15;
  90.     if (blau > 63) {
  91.       blau = 0;
  92.       gruen+=16;
  93.       if (gruen > 63) {
  94.     gruen = 0;
  95.     rot+=15;
  96.     if (rot > 63) {
  97.       rot = 0;
  98.     }
  99.       }
  100.     }
  101.   }
  102.  
  103.   setcolorblock (0,regbuf,256);
  104.  
  105.   while (!kbhit()) {
  106.     for (color = 0;color<256; color++) {
  107.       regbuf[color].b+= 15;
  108.       if (regbuf[color].b > 63) {
  109.     regbuf[color].b = 0;
  110.     regbuf[color].g+= 15;
  111.     if (regbuf[color].g > 63) {
  112.       regbuf[color].g = 0;
  113.       regbuf[color].r+= 15;
  114.       if (regbuf[color].r > 63) {
  115.         regbuf[color].r = 0;
  116.       }
  117.     }
  118.       }
  119.     }
  120.     setcolorblock(0,regbuf,256);
  121.   }
  122.  
  123.   exitgraphic();
  124. }
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.