C语言编一个9*9的扫雷游戏程序,跟网上那些不一样,数组的使用实验目的:1)掌握数组的定义与使用;2)掌握函数的使用;3)掌握随机函数的使用;4)掌握递归方法的使用;实验内容:实现
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 01:01:40
C语言编一个9*9的扫雷游戏程序,跟网上那些不一样,数组的使用实验目的:1)掌握数组的定义与使用;2)掌握函数的使用;3)掌握随机函数的使用;4)掌握递归方法的使用;实验内容:实现
C语言编一个9*9的扫雷游戏程序,跟网上那些不一样,
数组的使用
实验目的:
1)掌握数组的定义与使用;
2)掌握函数的使用;
3)掌握随机函数的使用;
4)掌握递归方法的使用;
实验内容:
实现字符界面下的地雷游戏
具体要求:
1)利用二维数组(9*9)存储整个游戏界面,采用‘*’表示地雷,每次游戏开始需要进行随机布雷;
2)游戏时,通过输入希望打开格子的行号和列号;
3)对于没有打开的各自使用字符‘#’,表示未打开;
4)对于已经打开的格子若没有地雷,在该格子中显示周围有多少个地雷;
5)源程序压缩以后提交.命名方式:学号专业班级序号.rar
实验指导:
1.布雷;
1)如何表示地雷:定义数组 mine[9][9]={0};
2)如何布雷:一个地雷的设置:
Row=rand()%9;
Col=rand()%9;
ming[Row][Col]=‘*’;
避免重复布雷;
3)计算无地雷格子的周围的地雷数:
普通情况,为周围8格;
特殊情况(边,角),注意数组朝界;
2.表示游戏状态
1)设置表示游戏状态的数组,game[9][9]={0}
1
表示格子格子已经打开;
0 表示没有打开;
2)显示当前状态
定义一个函数用于输出当前状态;该函数需要控
制每行输出9次,共输出9次
根据game中元素的值选择输出结果:
首先测试格子是否已经打开;
若打开判定该格子是否是地雷
3
1)游戏开始后输入希望打开格子的行号和列号;
2)判定指定格子是否是地雷:
若是地雷,游戏结束;
不是地雷,显示该格子周围的8个格子;
若格子中地雷数为0,展开该格子周围8个格子:
分为三种情况:
有雷的格子:保持原样;
无地雷但非0的格子,显示数字;
无地雷但为0的格子,显示0,并展开该格子周围8各格子,该过程递归进行,注意递归结束的条件.
C语言编一个9*9的扫雷游戏程序,跟网上那些不一样,数组的使用实验目的:1)掌握数组的定义与使用;2)掌握函数的使用;3)掌握随机函数的使用;4)掌握递归方法的使用;实验内容:实现
太复杂,我分成几部分试着做一下
首先是画棋盘,定义两个二维数组来表示每个棋子的状态和棋子周围的雷数,用于显示.
bool MakeMap(bool a[9][9],int b[9][9])
{
int i=0,j=0;
for(i=0;i<9;i++)
{
for(j=0;j<9;j++)
{
if(a[i][j]) printf("%d ",b[i][j]);
else printf("# ");
}
printf("\n");
}
return true;
}