文档详情

北邮C语言原创扫雷程序.doc

发布:2017-08-16约6.67千字共9页下载文档
文本预览下载声明
#includestdio.h #includetime.h #includestdlib.h void count(int x,int y); //函数声明 用于计雷数 void display_1(int x,int y); //函数声明 用于翻牌的显示 void deal(int x,int y); //函数声明 用于将bomb_3选中的坐标周围的数字赋值给display void printf_1(); //用于输出数组 void printf_2(); //用于输出数组 void win(); //函数声明 用于判断输赢 void clrscr(); //清屏函数 int bomb[10][10]={0}; //设置放雷的矩阵2 用于幕后处理雷 int bomb_2[10][10]={0};//设置矩阵3 用于标记小红旗(用‘!’号表示) int bomb_3[10][10]={0};//设置矩阵4 用于放置数字和雷 用于比较 将会被改动 int num[10][10]={0};//设置矩阵5 用于标记每个格子的状态 int rnum[10][10]={0};//设置矩阵6 用于标记每个格子周围有多少雷数 并且不改动 char display[8][8]={ {*,*,*,*,*,*,*,*}, {*,*,*,*,*,*,*,*}, {*,*,*,*,*,*,*,*}, {*,*,*,*,*,*,*,*}, {*,*,*,*,*,*,*,*}, {*,*,*,*,*,*,*,*}, {*,*,*,*,*,*,*,*}, {*,*,*,*,*,*,*,*}, //设置方阵1 8*8 用于显示 }; int i,j,e,f,n,h,k,l,m,o,p,q,r,s; int r=0; void main(void) { printf(------------------------------------世纪大扫雷---------------------------------\n); printf(=========================直接输入坐标,按回车表示翻开==========================\n); printf(======================输入坐标后直接加0表示标记(如:2,20)======================\n); printf(===============================!表示小红旗==================================\n); printf(=========绝对原创!请支持原创!老师的支持就是我们最大的鼓励!=====================\n); printf(\n); for(i=0;i8;i++) { for (j=0;j8;j++) { printf( %c,display[i][j]); } printf(\n); } srand( (unsigned)time( NULL ) ); while(m=5) { m=(rand()%7)+10; //随机设置雷的数目 } srand( (unsigned)time( NULL ) ); for(n=0;n=m;n++) { e=(rand()%7)+2; f=(rand()%7)+2; //随机取选择不大于m个两个数作为‘雷’的坐标,并且1表示雷 赋值给生成的坐标 bomb[e][f]=n; } printf(请注意:此局雷的个数为%d个\n,m); //输出雷的个数提示玩家 for(h=0;h10;h++) { for(k=0;k10;k++) { switch(bomb[h][k]) { case n :break; default:bomb[h][k]=0; } } //只要bomb[][]!=n 就等于0 整出一个新的矩阵2 } printf(\n); for(h=0;h10;h++) { for(k=0;k10;k++) { bomb_3[h][k]=bomb[h][k]
显示全部
相似文档