北邮C语言原创扫雷程序.doc
文本预览下载声明
#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]
显示全部