文档详情

C语言扫雷游戏源代码.doc

发布:2018-03-24约23.49万字共36页下载文档
文本预览下载声明
C语言扫雷游戏源代码 /* 模拟扫雷游戏 */ #include graphics.h #include math.h #include stdio.h #include dos.h #include stdlib.h #include conio.h #include alloc.h union REGS regs; int size=15;/*用于表示每个方块的大小(正方形的边长)*/ int pix,piy=50;/*pix,piy是矩阵的偏移量*/ char b[2]=1;/*用于显示方格周围的雷的个数*/ int pan[30][16];/*用于记录盘面的情况:0:没有、9:有雷、1~8:周围雷的个数*/ int pan1[30][16];/*pan1[][]纪录当前的挖雷情况,0:没有操作、1:打开了、2:标记了*/ int tt;/*纪录时间参数*/ int Eflags;/*用于标记鼠标按钮的有效性,0:有效,1:无效,2:这是鼠标的任意键等于重新开始*/ int Msinit(); void Draw(int x,int y,int sizex,int sizey); void Facedraw(int x,int y,int sizel,int k); void Dead(int sizel,int x,int y); void Setmouse(int xmax,int ymax,int x,int y); int Msread(int *xp,int *yp,int *bup,struct time t1,int k); void Draw1(int x,int y); int Open(int x,int y); float Random(); void Have(int sum,int x,int y,int xx,int yy); void Help(); void Coread(); void Ddraw2(int x,int y); /*下面是主函数*/ main() { int mode=VGAHI,devices=VGA;/*图形模式初始化的变量*/ char ams; /*鼠标操作中的标志变量*/ int xms,yms,bms; /*鼠标的状态变量*/ int i,j,k,k1=0; /*i,j,k是循环变量*/ int x=9,y=9,flags=0; /*x,y矩阵的大小*/ int sum=10; /*sum 盘面的雷的总数目,是个x,y的函数*/ int x1=0,y1=0; /*用于记录光标当前的位置*/ int x11=0,y11=0; /*暂时保存鼠标位置的值*/ int sizel=10; /*脸的大小*/ int cflags=1; /*这是菜单操作标志变量,没有弹出1,弹出0*/ struct time t1={0,0,0,0}; /*时间结构体,头文件已定义*/ int co[3]; /*暂时纪录历史纪录*/ void far *Map; /*用于保存鼠标图片*/ char name[3][20]; /*名字字符串,用于记录名字*/ FILE * p; /*文件指针用于文件操作*/ Msinit(); /*鼠标初始化*/ /*registerbgidriver(EGAVGA_driver);*/ initgraph(devices,mode,C:\\tc); /*图形模式初始化*/ /*为图片指针分配内存*/ if((Map=farmalloc(imagesize(0,0,20,20)))==NULL)/*图片的大小是20*20*/ { printf(Memory ererr!\n); printf(Press any key to out!\n); exit(1); } /*用于检验文件是否完整*/ while((p = fopen(score.dat, r)) == NULL) /*如果不能打开就新建一个*/ { if((p = fopen(score.dat, w)) == NULL)/*如果不能新建就提示错误并推出*/ { printf(The file cannot open!\n); printf(Presss any key to exit!\n); ge
显示全部
相似文档