c语言程序设计扫雷游戏,扫雷小游戏c++代码设计
源程序:一:game.h //存放游戏功能函数的声明# define _ CRT _ SECURE _ NO _ WARNINGS 1
#包含标准视频
#包含标准库
#包含时间。h
#定义第9行
#定义第9列
#定义第11行
#定义第11列
#定义地雷_计数80
//声明初始化棋盘函数
void初始化板(char ch[ROWS][COLS],char ret);
//声明打印棋盘函数
void显示板(char ch[ROWS][COLS]);
//声明布置雷函数
void set mine(char ch[ROWS][COLS]);
//声明排雷函数
找矿无效(char mine[行][列],计费板[行][列]);
二:game.c //存放游戏功能函数的实现#包含" game.h "
//初始化棋盘函数的实现
void initBoard(char ch[ROWS][COLS],char ret)
{
int I=0;
int j=0;
for(I=0;我行;我)
{
for(j=0;科尔斯基)
{
ch[I][j]=ret;
}
}
}
//打印棋盘函数的实现
空的显示板(char ch[行][列])
{
//打印列号
for(int I=0;i=世界其他地区我)
printf(%d ,I);
printf( \ n );
for(int I=1;i=世界其他地区我)
{
printf(%d ,I);//打印行号
//打印棋盘
for(int j=1;j=COLj)
{
printf(%c ,ch[I][j]);
}
printf( \ n );
}
}
//布置雷函数的实现
void setMine(char ch[行][列])
{
(同Internationalorganizations)国际组织计数=MINE _ COUNT//布置雷的个数
而(计数)
{
//随机生成坐标(我,j)
int I=rand()% ROW 1;
int j=rand()% COL 1;
//printf(%d%d ,I,j);
if (ch[i][j]==0 )
{
ch[I][j]= 1 ;
count-;
}
}
}
//排雷函数的实现
找矿无效(char mine[行][列],计费板[行][列])
{
int win=0;
int x,y=0;
while (win COL*ROW - MINE_COUNT)
{
//输入坐标
printf(输入排查坐标;
scanf(%d%d ,x,//0=x,y
如果(x=1 x=行y=1 y=列)
{
//判断是否为雷
if (mine[x][y]==1 )
{ //是雷-结束
系统(“cls”);
printf(嘭!嘭!嘭!排雷失败!\ n’);
展示板(我的);
打破;
}
else//不是雷-统计周围坐标有几个雷,存到板数组中
{
int count=getMineCount(mine,x,y);
board[x][y]=计数48;//转换成对应字符型
显示板(板);
赢;
}
}
其他
printf(坐标不合法,);
}
if (win==COL * ROW - MINE_COUNT)
{
系统(“cls”);
printf(恭喜你排雷成功!\ n’);
展示板(我的);
}
系统("暂停");
}
//获取坐标周围雷的个数函数的实现
static int getMineCount(char ch[ROWS][COLS],int x,int y)
{
int count=0;
for(int I=-1;我我)
{
for(int j=-1;j j)
{
count=count ch[x I][y j];
}
}
return(count-48 * 9);//共九个字符型相加,所以减48*9,得到对应整型
}
三:test.c //测试#包含" game.h "
无效菜单()
{
//屏幕清空
系统(“cls”);
printf( * * * * * * * * * * * * * * * * * * * * * * * * * \ n );
printf( * * * * 1:播放0。退出* * * * \ n’);
printf( * * * * * * * * * * * * * * * * * * * * * * * * * \ n );
printf(请选择:
}
无效游戏()
{
炭矿[行][列]={ 0 };//存放雷的信息
充电板[行][列]={ 0 };//存放排查的雷的信息
初始化板(我的,"0");//将我的初始化成0
initBoard(board, * );//将板初始化成*
//布置雷的位置
塞特明(我的);
//打印雷
//显示板(矿);
//屏幕清空
系统(“cls”);
printf( -开始排雷-\ n );
//打印棋盘
显示板(板);
//排雷
findMine(矿,板);
}
int main()
{
int input=0;
srand((无符号int)time(NULL));
做
{
//打印菜单
menu();
scanf(%d ,输入);
开关(输入)
{
案例1:
game();
打破;
案例0:
printf(游戏结束\ n’);
打破;
默认值:
printf(出错啦!\ n’);
打破;
}
系统("暂停");
}而(输入);
返回0;
}结果:
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。