c语言课程设计_扫雷游戏设计

c语言课程设计_扫雷游戏设计

ID:39807017

大小:61.00 KB

页数:8页

时间:2019-07-11

c语言课程设计_扫雷游戏设计_第1页
c语言课程设计_扫雷游戏设计_第2页
c语言课程设计_扫雷游戏设计_第3页
c语言课程设计_扫雷游戏设计_第4页
c语言课程设计_扫雷游戏设计_第5页
资源描述:

《c语言课程设计_扫雷游戏设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C语言课程设计_扫雷游戏设计/*5.3.4源程序*/#include#include#include#defineLEFTPRESS0xff01#defineLEFTCLICK0xff10#defineLEFTDRAG0xff19#defineMOUSEMOVE0xff08struct{  intnum;/*格子当前处于什么状态,1有雷,0已经显示过数字或者空白格子*/  introundnum;/*统计格子周围有多少雷*/  intflag;/*右键按下显示红旗的标志,0没有红旗标志,1有红旗

2、标志*/}Mine[10][10];intgameAGAIN=0;/*是否重来的变量*/intgamePLAY=0;/*是否是第一次玩游戏的标志*/intmineNUM;/*统计处理过的格子数*/charrandmineNUM[3];/*显示数字的字符串*/intKeystate;intMouseExist;intMouseButton;intMouseX;intMouseY;voidInit(void);/*图形驱动*/voidMouseOn(void);/*鼠标光标显示*/voidMouseOff(void);/*鼠标光标隐藏*/voidMouse

3、SetXY(int,int);/*设置当前位置*/int LeftPress(void);/*左键按下*/int RightPress(void);/*鼠标右键按下*/voidMouseGetXY(void);/*得到当前位置*/voidControl(void);/*游戏开始,重新,关闭*/voidGameBegain(void);/*游戏开始画面*/voidDrawSmile(void);/*画笑脸*/voidDrawRedflag(int,int);/*显示红旗*/voidDrawEmpty(int,int,int,int);/*两种空格子的显示

4、*/voidGameOver(void);/*游戏结束*/voidGameWin(void);/*显示胜利*/int MineStatistics(int,int);/*统计每个格子周围的雷数*/int ShowWhite(int,int);/*显示无雷区的空白部分*/voidGamePlay(void);/*游戏过程*/voidClose(void);/*图形关闭*/voidmain(void){  Init();  Control();  Close();}voidInit(void)/*图形开始*/{  intgd=DETECT,gm;  ini

5、tgraph(&gd,&gm,"c:\tc");}voidClose(void)/*图形关闭*/{  closegraph();8}voidMouseOn(void)/*鼠标光标显示*/{  _AX=0x01;  geninterrupt(0x33);}voidMouseOff(void)/*鼠标光标隐藏*/{  _AX=0x02;  geninterrupt(0x33);}voidMouseSetXY(intx,inty)/*设置当前位置*/{  _CX=x;  _DX=y;  _AX=0x04;  geninterrupt(0x33);}intL

6、eftPress(void)/*鼠标左键按下*/{  _AX=0x03;  geninterrupt(0x33);  return(_BX&1);}intRightPress(void)/*鼠标右键按下*/{  _AX=0x03;  geninterrupt(0x33);  return(_BX&2);}voidMouseGetXY(void)/*得到当前位置*/{  _AX=0x03;  geninterrupt(0x33);  MouseX=_CX;  MouseY=_DX;}voidControl(void)/*游戏开始,重新,关闭*/{  in

7、tgameFLAG=1;/*游戏失败后判断是否重新开始的标志*/  while(1)  {     if(gameFLAG)/*游戏失败后没判断出重新开始或者退出游戏的话就继续判断*/     { GameBegain();/*游戏初始画面*/ GamePlay();/*具体游戏*/ if(gameAGAIN==1)/*游戏中重新开始*/ {    gameAGAIN=0;    continue; }     }  MouseOn();  gameFLAG=0;  if(LeftPress())/*判断是否重新开始*/  {     MouseGet

8、XY();     if(MouseX>280&&MouseX<300&&MouseY>65&

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。