刚学TC2,编了个垃圾扫雷,因为不懂英语,所以写的很乱,连自己都看不懂写了些什么?晕
因为是在DOS下的,不知道怎么调用鼠标驱动程序,所以要用键盘移动.还有就是是在一个老的破电脑上写的,用的是98系统,
现在的XP什么的已经没有了里面的COMMAND文件夹(因为用了里面的像素点阵来显示中文,所以XP下文字不能显示了)
#include<stdio.h>
#include<stdlib.h>
#include<graphics.h>
#include<stdarg.h>
#include<alloc.h>
#include<bios.h>
#include<time.h>
void Space(int m,int n,int p);
static void *button,*cursor,*lei,*bq[4],*flag,*mvFn,*yy;
int tab[480],us[480],cmp;
FILE *Hz16;
static char num[10][42]= /* 这是计数器形式显示0~9数的像素点阵 */{{127,192,191,160,223,96,224,224,224,224,224,224,224,224,224,224,192,96,128,32,0,0,128,32,192,96,224,224,224,224,224,224,224,224,224,224,223,96,191,160,127,192},
{0,0,0,32,0,96,0,224,0,224,0,224,0,224,0,224,0,96,0,32,0,0,0,32,0,96,0,224,0,224,0,224,0,224,0,224,0,96,0,32,0,0},
{127,192,63,160,31,96,0,224,0,224,0,224,0,224,0,224,0,96,63,160,127,192,191,128,192,0,224,0,224,0,224,0,224,0,224,0,223,0,191,128,127,192},
{127,192,63,160,31,96,0,224,0,224,0,224,0,224,0,224,0,96,63,160,127,192,63,160,0,96,0,224,0,224,0,224,0,224,0,224,31,96,63,160,127,192},
{0,0,128,32,192,96,224,224,224,224,224,224,224,224,224,224,192,96,191,160,127,192,63,160,0,96,0,224,0,224,0,224,0,224,0,224,0,96,0,32,0,0},
{127,192,191,128,223,0,224,0,224,0,224,0,224,0,224,0,192,0,191,128,127,192,63,160,0,96,0,224,0,224,0,224,0,224,0,224,31,96,63,160,127,192},
{127,192,191,128,223,0,224,0,224,0,224,0,224,0,224,0,192,0,191,128,127,192,191,160,192,96,224,224,224,224,224,224,224,224,224,224,223,96,191,160,127,192},
{127,192,63,160,31,96,0,224,0,224,0,224,0,224,0,224,0,96,0,32,0,0,0,32,0,96,0,224,0,224,0,224,0,224,0,224,0,96,0,32,0,0},
{127,192,191,160,223,96,224,224,224,224,224,224,224,224,224,224,192,96,191,160,127,192,191,160,192,96,224,224,224,224,224,224,224,224,224,224,223,96,191,160,127,192},
{127,192,191,160,223,96,224,224,224,224,224,224,224,224,224,224,192,96,191,160,127,192,63,160,0,96,0,224,0,224,0,224,0,224,0,224,31,96,63,160,127,192}};
void drawButton(void){
int size,pt[5][2]={{0,0},{16,0},{16,16},{0,16},{0,0}};
setfillstyle(SOLID_FILL,7);
setcolor(7);
fillpoly(5,(int far*)pt);
setcolor(15);
line(1,1,15,1);
line(1,1,1,15);
setcolor(8);
line(2,14,14,14);
line(14,2,14,14);
line(1,15,15,15);
line(15,1,15,15);
size=imagesize(0,0,16,16);
button=malloc(size);
getimage(0,0,16,16,button);
putimage(0,0,button,XOR_PUT);
}
/*int cursTab[8][2]={{0,0},{0,15},{4,13},{7,18},{9,17},{6,12},{9,12},{0,0}};*/
void drawCursor(void){ /* 因为用XOR方式,所以和背景色有冲突,颜色有改变 */
int size,pt[4][2]={{1,1},{1,6},{6,6},{1,1}};
setfillstyle(SOLID_FILL,12);
setcolor(4);
fillpoly(4,(int far*)pt);
size=imagesize(0,0,7,7);
cursor=malloc(size);
getimage(0,0,7,7,cursor);
putimage(0,0,cursor,XOR_PUT);
}
void drawBq(void){
int i,size;
size=imagesize(0,0,16,16);
for(i=0;i<4;i++)
bq[i]=malloc(size);
setfillstyle(SOLID_FILL,14);
setcolor(3);
fillellipse(8,8,8,8);
rectangle(5,5,6,6);
rectangle(10,5,11,6);
arc(8,6,215,325,6);
getimage(0,0,16,16,bq[0]);
putimage(0,0,bq[0],XOR_PUT);
fillellipse(8,8,8,8);
rectangle(4,4,6,6);
rectangle(10,4,12,6);
putpixel(5,5,3);
putpixel(11,5,3);
circle(8,11,2);
getimage(0,0,16,16,bq[1]);
putimage(0,0,bq[1],XOR_PUT);
fillellipse(8,8,8,8);
putpixel(4,4,3);
putpixel(6,6,3);
putpixel(5,5,3);
putpixel(4,6,3);
putpixel(6,4,3);
putpixel(10,4,3);
putpixel(10,6,3);
putpixel(12,4,3);
putpixel(12,6,3);
putpixel(11,5,3);
arc(8,15,35,135,5);
getimage(0,0,16,16,bq[2]);
putimage(0,0,bq[2],XOR_PUT);
fillellipse(8,8,8,8);
arc(8,6,215,323,6);
line(0,8,4,4);
line(4,4,12,4);
line(12,4,16,8);
setfillstyle(SOLID_FILL,3);
fillellipse(5,6,2,2);
fillellipse(11,6,2,2);
getimage(0,0,16,16,bq[3]);
putimage(0,0,bq[3],XOR_PUT);
}
void drawFlag(void){
int size,pt1[4][2]={{0,0},{4,0},{0,3},{0,0}},
pt2[4][2]={{0,3},{4,0},{4,3},{0,3}};
setfillstyle(SOLID_FILL,12);
setcolor(12);
fillpoly(4,(int far*)pt1);
setfillstyle(SOLID_FILL,4);
setcolor(4);
fillpoly(4,(int far*)pt2);
setcolor(3);
line(4,0,4,8);
line(3,8,5,8);
line(1,9,7,9);
size=imagesize(0,0,8,9);
flag=malloc(size);
getimage(0,0,8,9,flag);
putimage(0,0,flag,XOR_PUT);
}
void drawLei(void){
int size;
setcolor(8);
circle(5,5,3);
setcolor(3);
setfillstyle(SOLID_FILL,3);
fillellipse(5,5,2,2);
line(0,5,10,5);
line(5,0,5,10);
putpixel(2,2,3);
putpixel(2,8,3);
putpixel(8,2,3);
putpixel(8,8,3);
putpixel(4,4,15);
size=imagesize(0,0,10,10);
lei=malloc(size);
getimage(0,0,10,10,lei);
putimage(0,0,lei,XOR_PUT);
}