扫雷 实现

一.实现游戏正常逻辑。

1.实现一个游戏菜单进行选择玩游戏和退出游戏。

2.实现游戏循环的继续,玩一次不够继续下一次游戏,游戏一开始一定会进行一次选择!

游戏菜单

扫雷 实现_第1张图片

 游戏的主体

扫雷 实现_第2张图片

 

二实现游戏代码块部分

game()函数的实现

0.实现打印数组信息的一个函数

1.初始化我们的扫雷的区域。

2.给我们相应的区域附上我们认为合理的数值

3.布置我们的雷

4.进行人为的输入选择排雷的位置,并显示一定的结果,和后续。

5.代码进阶,实现不是雷的一个展开!

0.实现打印数组信息的一个函数

扫雷 实现_第3张图片

 

一.初始化我们的扫雷的区域。

扫雷 实现_第4张图片

 我们看见的是不是一个这样的区域如果我们点一个位置是不是有可能会有信息关于周围雷的一个数量,也有可能是被直接炸死,也有可能是直接展开了一片区域!

我们这个时候就想,如何合理的管理我们看见的信息,和看不见的雷的一个布置!

我们可以实现两个字符的二维数组去分开存放我们布置的雷存放雷的信息!

 这个时候想要统一去管理我们的两个二维数组的长宽,我们为了统一的去管理,这个时候我们就想要使用分文件的形式去管理我们的相关信息。

game.h文件

扫雷 实现_第5张图片

 这个地方为了有利于我们给记录雷的信息的数值会比较方便计算提供给玩家的信息所以是比较大的长和宽都加了1

二.给我们相应的区域附上我们认为合理的数值

这个时候我们就想,两个数组分别附上我们想要的一个初始的一个数值!

关于布置雷的一个数组

我们这是一个字符的一个数组,我们可以字符'0'   为不是雷  字符'1'是雷去放置,开始因为是初始化我们先不放置雷。

关于显示雷的一个信息的数组

这个数组开始应该什么都看不到是不是 ,我们可以给应该给一个字符'  *  ' 去放置在我们的存放雷的信息的一个数组里面

扫雷 实现_第6张图片

 实现内容

 扫雷 实现_第7张图片

 

三.布置我们的雷

布置雷

我们可以字符'0'   为不是雷  字符'1'是雷去放置

我们先随机生成在我们9*9范围内的一个坐标为x和y

扫雷 实现_第8张图片

 

四.进行人为的输入选择排雷的位置,并显示一定的结果,和后续。

人为应该可以多次的输入一个坐标去获得我们排查雷的信息,或者直接被炸死,或者排查排查把不是雷的地方排查完了就获得游戏的胜利!

扫雷 实现_第9张图片

 关于Getmain函数的实现

扫雷 实现_第10张图片

 

关于代码的一个进阶

5.代码进阶,实现不是雷的一个展开!

我们玩的比较多的是一个这样的形式

扫雷 实现_第11张图片

 

展开一大片是需要使用递归的

1 你会发现我们排查的这一坐标不能是炸弹。

2 并且我们排查的这一个位置周围也不能是炸弹要不然不会是空格。

3.这一个坐标应该没有被排查过我们不能对一个被排查过的位置进行重复多次的赋值改变。

扫雷 实现_第12张图片

 

扫雷 实现_第13张图片

 

代码的整体展示

扫雷 实现_第14张图片

 

扫雷 实现_第15张图片

 扫雷 实现_第16张图片

 

你可能感兴趣的:(python,开发语言)