预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共15页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

往链点点通共享资源,了解更多请登录HYPERLINK"www.WL566.com"www.WL566.com #include<graphics.h> #include<stdlib.h> #include<dos.h> #include<conio.h> /*鼠标信息宏定义*/ #defineWAITING0xff00 #defineLEFTPRESS0xff01 #defineLEFTCLICK0xff10 #defineLEFTDRAG0xff19 #defineRIGHTPRESS0xff02 #defineRIGHTCLICK0xff20 #defineRIGHTDRAG0xff2a #defineMIDDLEPRESS0xff04 #defineMIDDLECLICK0xff40 #defineMIDDLEDRAG0xff4c #defineMOUSEMOVE0xff08 struct { intnum;/*格子当前处于什么状态,1有雷,0已经显示过数字或者空白格子*/ introundnum;/*统计格子周围有多少雷*/ intflag;/*右键按下显示红旗的标志,0没有红旗标志,1有红旗标志*/ }Mine[10][10]; intgameAGAIN=0;/*是否重来的变量*/ intgamePLAY=0;/*是否是第一次玩游戏的标志*/ intmineNUM;/*统计处理过的格子数*/ charrandmineNUM[3];/*显示数字的字符串*/ intKeystate; intMouseExist; intMouseButton; intMouseX; intMouseY; intup[16][16],down[16][16],mouse_draw[16][16],pixel_save[16][16]; voidMouseMath()/*计算鼠标的样子*/ {inti,j,jj,k; longUpNum[16]={ 0x3fff,0x1fff,0x0fff,0x07ff, 0x03ff,0x01ff,0x00ff,0x007f, 0x003f,0x00ff,0x01ff,0x10ff, 0x30ff,0xf87f,0xf87f,0xfc3f }; longDownNum[16]={ 0x0000,0x7c00,0x6000,0x7000, 0x7800,0x7c00,0x7e00,0x7f00, 0x7f80,0x7e00,0x7c00,0x4600, 0x0600,0x0300,0x0300,0x0180 }; for(i=0;i<16;i++) { j=jj=15; while(UpNum[i]!=0) { up[i][j]=UpNum[i]%2; j--; UpNum[i]/=2; } while(DownNum[i]!=0) { down[i][jj--]=DownNum[i]%2; DownNum[i]/=2; } for(k=j;k>=0;k--) up[i][k]=0; for(k=jj;k>=0;k--) down[i][k]=0; for(k=0;k<16;k++)/*四种组合方式*/ { if(up[i][k]==0&&down[i][k]==0) mouse_draw[i][k]=1; elseif(up[i][k]==0&&down[i][k]==1) mouse_draw[i][k]=2; elseif(up[i][k]==1&&down[i][k]==0) mouse_draw[i][k]=3; else mouse_draw[i][k]=4; } } mouse_draw[1][2]=4;/*特殊点*/ } voidInit(void);/*图形驱动*/ voidMouseOn(int,int);/*鼠标光标显示*/ voidMouseOff(void);/*鼠标光标隐藏*/ voidMouseSetXY(int,int);/*设置当前位置*/ intLeftPress(void);/*左键按下*/ intRightPress(void);/*鼠标右键按下*/ intMiddlePress(); voidMouseGetXY(void);/*得到当前位置*/ intMouseStatus(); voidControl(void);/*游戏开始,重新,关闭*/ voidGameBegain(void);/*游戏开始画面*/ voidDrawSmile(void);/*画笑脸*/ voidDrawRedflag(int,int);/*显示红旗*/ voidDrawEmpty(int,int,int,int);/*两种空格子的显示*/ voidGameOver(