⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wcc.c

📁 This software was done in part for a textbook on AI I ve written called _The Basis of AI_ (tentative
💻 C
字号:
#include <graph.h>static videoconfig vconf; void vga_init(int mode){   if (mode == 1) // graphics mode  { if (_setvideomode(_XRES16COLOR) == _UNKNOWN &&         _setvideomode(_SVRES16COLOR) == _UNKNOWN)        _setvideomode(_VRES16COLOR);    _getvideoconfig(&vconf);    _setviewport(0,0,vconf.numxpixels-1,vconf.numypixels-1);    for(int i=0; i<16; i++) vga_setpal(i,_R_[i],_G_[i],_B_[i]);   }  else    _setvideomode(_DEFAULTMODE);  }int  vga_width()  { return vconf.numxpixels; }int  vga_height() { return vconf.numypixels; }int  vga_depth()  { return vconf.bitsperpixel; } void vga_clear(int col) { _setcolor(col);   _rectangle(_GFILLINTERIOR,0,0,vga_width()-1,vga_height()-1); }void vga_setpal(int index, int red, int green, int blue){ _R_[index] = red;  _G_[index] = green;  _B_[index] = blue;  red   /= 4;  green /= 4;  blue  /= 4;  _remappalette(index, (blue<<16) | (green<<8) | red);}void vga_getpal(int index, int* red, int* green, int* blue){ *red   = _R_[index];  *green = _G_[index];  *blue  = _B_[index]; }void vga_set_color(int color) { _setcolor(color); }void vga_set_mode(int mode){ switch(mode) {   case 0: _setplotaction(_GPSET);           break;   case 1: _setplotaction(_GAND);           break;   case 2: _setplotaction(_GOR);           break;   case 3: _setplotaction(_GXOR);           break;  }}void vga_pixel(int x, int y) { _setpixel(x,y); }void vga_hline(int x1, int x2,int y){ _rectangle(_GFILLINTERIOR,x1,y,x2,y); }void vga_vline(int x, int y1, int y2){ _rectangle(_GFILLINTERIOR,x,y1,x,y2); }void vga_box(int x1, int y1, int x2, int y2){ _rectangle(_GFILLINTERIOR,x1,y1,x2,y2); }static void vga_bytes(int x, int y, unsigned char* ptr, int len){ unsigned char* stop = ptr+len;  while (ptr < stop)  { int d = 0;    for (d=0; ptr <stop && *ptr==0xFF; ptr++) d += 8;    if (d > 0)      { _rectangle(_GFILLINTERIOR,x,y,x+d,y);        x += d;       }    else      { unsigned char c = *ptr++;        if (c & 128) _setpixel(x,  y);        if (c &  64) _setpixel(x+1,y);        if (c &  32) _setpixel(x+2,y);        if (c &  16) _setpixel(x+3,y);        if (c &   8) _setpixel(x+4,y);        if (c &   4) _setpixel(x+5,y);        if (c &   2) _setpixel(x+6,y);        if (c &   1) _setpixel(x+7,y);        x += 8;       }   }}void vga_bitmap(int x, int y, unsigned char* pm, int width, int height){ while (height--)  { vga_bytes(x,y++,pm,width);    pm += width;   } }char* vga_getimage(int left, int top, int right, int bottom){ char* bp = new char[_imagesize(left,top,right,bottom)];  _getimage(left,top,right,bottom,bp);  return bp; }void vga_putimage(int x, int y, char* image){ if (x < 0) x = 0;  if (y < 0) y = 0;  _putimage(x,y,image,_GPSET); }void vga_delimage(char* image)   { delete image; }void vga_copyimage(int x1, int y1, int x2, int y2, int x, int y){ int sz = _imagesize(x1,y1,x2,y2);  char* image = new char[sz];  _getimage(x1,y1,x2,y2,image);  _putimage(x,y,image,_GPSET);  delete[] image; }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -