C++实现一个扫雷小游戏
本文实例为大家分享了C++实现扫雷小游戏的具体代码,供大家参考,具体内容如下
目前的版本是0.98版本,可以提出增加新功能意见哦
代码如下:
#include#include usingnamespacestd; longlongintc,dev,m,k,cnt,d,e,jie=10,z,abc,n,b[1000][1000],a[1000][1000],cc,cd,ce,def;//c是随机行,k是随机列 boolflag=0; boolcheck_lei(){//用于游戏停止 for(inti=0;i =n||e<0||e>=m){ ce++; return; } if(a[d][e]==10000){ ce++; return; } if(b[d][e]!=999&&b[d][e]!=5000)return; b[d][e]=a[d][e]; if(b[d][e]!=0){ for(inti=-1;i<=1;i++){ for(intj=-1;j<=1;j++){ if(d+i<0||d+i>=n||e+i<0||e+i>=m){ ce++; continue; } if(b[d+i][e+i]==5000)continue; if(b[d+i][e+j]!=999)continue; if(a[d+i][e+j]==10000){ ce++; continue; } if(ce<=5){ b[d+i][e+j]=a[d+i][e+j]; ce++; } } } return; } if(cd>n/2)return; for(inti=-1;i<=1;i++){ for(intj=-1;j<=1;j++){ check(d+i,e+j); } } cd++; } voidbuZhi(){ system("cls");//清屏 srand(time(NULL));//时间种子 for(inti=0;i 2):"; cin>>n; while(n>1000||n<=2){ cout<<"长不合法,请重新输入"; cin>>n; } cout<<"请输入宽(>2):"; cin>>m; while(m>1000||m<=2){ cout<<"宽不合法,请重新输入"; cin>>m; } cout<<"请输入雷数(推荐雷数计算:规格长*宽/10四舍五入,这样可以达到比较好的效果)"; cin>>abc; while(abc>n*m||abc<=0){ cout<<"输入不合法,请重新输入"; cin>>abc; } jie=abc; buZhi(); } voidsaoLei(){ for(inti=0;i 9) cout< >d>>e; while(d>n||e>m||d<0||e<0){ cout<<"输入不合法,请重新输入"; cin>>d>>e; } if(a[d-1][e-1]!=10000)check(d-1,e-1);//b[d-1][e-1]=a[d-1][e-1]; else{ cout<<"失败"; flag=1; return; } cout<<"是否需要标记雷(是输入1,不是输入2)?"; cin>>z; while(z==1){ cout<<"请输入行和列:"; cin>>d>>e; while(d>n||e>m||d<0||e<0){ cout<<"输入不合法,请重新输入"; cin>>d>>e; } if(b[d-1][e-1]==999){ b[d-1][e-1]=5000; } elsecout<<"标记错误:标记了已经扫到的不是雷的格子\n"; cout<<"是否需要标记雷(是输入1,不是输入2)?"; cin>>z; } system("pause"); system("cls"); cout<<"加载中"; Sleep(300); cout<<"."; Sleep(300); cout<<"."; Sleep(300); cout<<"."; system("cls"); def=0; } } intmain(){ cout<<"2.2.0版本新增功能:\n"; cout<<"显示行数和列数,找起来方便\n"; cout<<"修复了2.1.0游戏赢不了的问题\n"; system("pause"); system("cls"); qianYan(); saoLei(); if(flag==0)cout<<"太棒了\n"; elsecout<<"很遗憾\n"; system("pause"); cout<<"雷图如下:\n"; for(inti=0;i 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。