




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 信阳涉外职业技术学院《招聘与面试技巧》2023-2024学年第二学期期末试卷
- 健身行业投资与并购咨询服务行业深度调研及发展项目商业计划书
- 企业视频宣传片企业制定与实施新质生产力项目商业计划书
- 江苏医药职业学院《公共建筑设计(Ⅱ)》2023-2024学年第二学期期末试卷
- 神秘埃及法老陵墓餐厅行业跨境出海项目商业计划书
- 口才与演讲技巧提升行业跨境出海项目商业计划书
- 儿童剧与教育演出行业跨境出海项目商业计划书
- 盐城工业职业技术学院《体育游戏创编与实践》2023-2024学年第二学期期末试卷
- 会所钥匙管理制度
- 会计印章管理制度
- 小学民法典主题班会教案
- 2025年江西报业传媒集团招聘题库带答案分析
- 公司退货流程管理制度
- MHD多相流体系统的建模与仿真-洞察阐释
- 办公软件实操试题及详细答案
- 矿产品销售合作合同范本
- 集装箱冷板式液冷数据中心技术规范
- GB/T 7106-2019建筑外门窗气密、水密、抗风压性能检测方法
- GB/T 28046.4-2011道路车辆电气及电子设备的环境条件和试验第4部分:气候负荷
- (精心整理)考试作文格纸
- 仓库管理员培训教材课件
评论
0/150
提交评论