




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include #include #include #include #include #define N 10 /大小#define M 10 /雷数int DileiDataM;int GuangbiaoData2=1,1;int ShowDataNN;int open;void gotoxy(int x, int y) COORD c; c.X=x-1; c.Y=y-1; SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c); void NewShow()open=0;system(cls);int i,j;for (i=0;iN;i+) for (j=0;jN;j+) putchar(-); ShowDataij=-1; putchar(n);srand(unsigned)time(NULL);for (i=0;iM;i+) DileiDatai=rand()%(N*N); for (j=0;ji;j+) while(jN|New0N|New11) return 1;else return 0; int CannotDo(int MoveData)if (BeOut(MoveData) return 1;if (ShowDataGuangbiaoData1-1GuangbiaoData0-1!=-1&MoveData=5) return 1;return 0;void Get(int *data) /该函数的功能是用户的按键,并转化为123456(1表示上,2表示下,3表示左,4表示右,5表示扫雷,6表示退出。) int temp,flag;do flag=0; temp=getch(); if (temp=224) temp=getch(); switch (temp) case 72:*data=1;break; case 80:*data=2;break; case 75:*data=3;break; case 77:*data=4;break; default:*data=0;break; else switch (temp) case w: case W:*data=1;break; case s: case S:*data=2;break; case a: case A:*data=3;break; case d: case D:*data=4;break; case 13 : case 32 :*data=5;break;/回车和空格扫雷 case 27 :*data=6;break;/esc退出 default:*data=0;break; if (*data=1&CannotDo(*data) *data=0;while (!*data);void Move(int MoveData) /输入参数为用户输入的方向(1表示上,2表示下,3表示左,4表示右)switch (MoveData)case 1:GuangbiaoData1-=1;break;case 2:GuangbiaoData1+=1;break;case 3:GuangbiaoData0-=1;break;case 4:GuangbiaoData0+=1;break;default:printf(Move函数出错);gotoxy(GuangbiaoData0,GuangbiaoData1);int IsDilei(int x,int y)int i;for (i=0;iM;i+) if (DileiDatai=x-1+(y-1)*N) return 1;return 0;int saolei() /返回2是获胜,返回0则是失败,返回1是没有获胜也没有失败。int i=0,j=0,k=0,count;count=0; if (IsDilei(GuangbiaoData0,GuangbiaoData1) for (i=0;iM;i+) gotoxy(DileiDatai%N+1,DileiDatai/N+1); putchar(X); gotoxy(1,N+1); printf(很不幸,你挖到了地雷); gotoxy(GuangbiaoData0,GuangbiaoData1); if (getch()=224) getch(); return 0; for (j=-1;j=1;j+) for (k=-1;k=1&GuangbiaoData0+j=1&GuangbiaoData1+k=N) count+; gotoxy(GuangbiaoData0,GuangbiaoData1); printf(count=0? :%d,count); open+; ShowDataGuangbiaoData1-1GuangbiaoData0-1=count; if (count=0) for (i=-1;i=1;i+) for (j=-1;j=1&GuangbiaoData0+j=1&GuangbiaoData1+i=N) GuangbiaoData1+=i; GuangbiaoData0+=j; saolei(); GuangbiaoData1-=i; GuangbiaoData0-=j; gotoxy(GuangbiaoData0,GuangbiaoData1); if (open=N*N-M) gotoxy(1,N+1); printf(扫雷成功); if (getch()=224) getch(); return 2; return 1;void DataGetAndChoose()int temp;while(1) int MoveData; Get(&MoveData); switch (MoveData) case 1: case 2: case 3: case 4:Move(MoveData);break; case 5:if (temp=saolei()=0|temp=2) return;break; case 6:return;break; void menu()system(cls);printf( - );printf( - 扫 雷 - );printf( - );printf( - 说明: - );printf( - 游戏过程中按esc返回重新开始 - );printf( - 按上下左右键或w,s,a,d键移动光标 - );printf( - 回车键或空格键扫雷 - );printf( - 大小:%2d*%2d 雷数:%2d - ,N
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 202212月1日世界艾滋病日
- 招标专业人员招聘面试实战模拟题库
- 知识题库-水泥工艺学自测知识考试题及答案
- 小学影子数学课程解析
- 中学面试题目精 编:高中版
- 高品质求职必 备:供销会计面试题精 编职业岗位分析
- 初中语文招聘导航:探寻高质量的面试题库等你挑战
- 新建高职院校汇报
- 新员工汇报演讲
- 伟人细胞教案
- 2025医院医疗器械不良事件监测与报告制度
- 企业廉洁管理办法
- 2025年列车长(官方)-高级工历年参考试题库答案解析(5卷套题【单项选择题100题】)
- DBJ50-T-306-2024 建设工程档案编制验收标准
- 2025四川雅安荥经县国润排水有限责任公司招聘5人笔试历年参考题库附带答案详解
- 2025中国银行新疆区分行社会招聘笔试备考试题及答案解析
- 动脉置管并发症
- 药品医疗器械试题及答案
- 2025年甘肃社会化工会工作者招聘考试(公共基础知识)模拟试题及答案
- 2025年甘肃省高考历史试卷真题(含答案解析)
- 涂装(电泳)废水操作说明书
评论
0/150
提交评论