欢迎来到天天文库
浏览记录
ID:51166912
大小:35.50 KB
页数:8页
时间:2020-03-19
《c语言课程设计-扫雷游戏设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言课程设计_扫雷游戏设计/*5.3.4源程序*/#include#include#include#defineLEFTPRESS0xff01#defineLEFTCLICK0xff10#defineLEFTDRAG0xff19#defineMOUSEMOVE0xff08struct{ intnum;/*格子当前处于什么状态,1有雷,0已经显示过数字或者空白格子*/ introundnum;/*统计格子周围有多少雷*/ intflag;/*右键按下显示红旗的标志,0没有红旗标志,1有红旗标志*/}Mine[10][10]
2、;intgameAGAIN=0;/*是否重来的变量*/intgamePLAY=0;/*是否是第一次玩游戏的标志*/intmineNUM;/*统计处理过的格子数*/charrandmineNUM[3];/*显示数字的字符串*/intKeystate;intMouseExist;intMouseButton;intMouseX;intMouseY;voidInit(void);/*图形驱动*/voidMouseOn(void);/*鼠标光标显示*/voidMouseOff(void);/*鼠标光标隐藏*/voidMouseSetXY(int,int);/*设置当前位置*/int LeftP
3、ress(void);/*左键按下*/int RightPress(void);/*鼠标右键按下*/voidMouseGetXY(void);/*得到当前位置*/voidControl(void);/*游戏开始,重新,关闭*/voidGameBegain(void);/*游戏开始画面*/voidDrawSmile(void);/*画笑脸*/voidDrawRedflag(int,int);/*显示红旗*/voidDrawEmpty(int,int,int,int);/*两种空格子的显示*/voidGameOver(void);/*游戏结束*/voidGameWin(void);/*显示
4、胜利*/int MineStatistics(int,int);/*统计每个格子周围的雷数*/int ShowWhite(int,int);/*显示无雷区的空白部分*/voidGamePlay(void);/*游戏过程*/voidClose(void);/*图形关闭*/voidmain(void){ Init(); Control(); Close();}voidInit(void)/*图形开始*/{ intgd=DETECT,gm; initgraph(&gd,&gm,"c:\tc");}voidClose(void)/*图形关闭*/{ closegraph();}vo
5、idMouseOn(void)/*鼠标光标显示*/{ _AX=0x01; geninterrupt(0x33);}voidMouseOff(void)/*鼠标光标隐藏*/{ _AX=0x02; geninterrupt(0x33);}voidMouseSetXY(intx,inty)/*设置当前位置*/{ _CX=x; _DX=y; _AX=0x04; geninterrupt(0x33);}intLeftPress(void)/*鼠标左键按下*/{ _AX=0x03; geninterrupt(0x33); return(_BX&1);}intRightPres
6、s(void)/*鼠标右键按下*/{ _AX=0x03; geninterrupt(0x33); return(_BX&2);}voidMouseGetXY(void)/*得到当前位置*/{ _AX=0x03; geninterrupt(0x33); MouseX=_CX; MouseY=_DX;}voidControl(void)/*游戏开始,重新,关闭*/{ intgameFLAG=1;/*游戏失败后判断是否重新开始的标志*/ while(1) { if(gameFLAG)/*游戏失败后没判断出重新开始或者退出游戏的话就继续判断*/ { Game
7、Begain();/*游戏初始画面*/ GamePlay();/*具体游戏*/ if(gameAGAIN==1)/*游戏中重新开始*/ { gameAGAIN=0; continue; } } MouseOn(); gameFLAG=0; if(LeftPress())/*判断是否重新开始*/ { MouseGetXY(); if(MouseX>280&&MouseX<300&&MouseY>65&&
此文档下载收益归作者所有