扫雷小游戏

1.首先是设计main函数,在里面写入测试函数,首先实现这个游戏,需要一个菜单。在菜单中显示,如果输入1就开始游戏,0就退出游戏,我将这段输出写在menu()函数中。

2.在test()函数中就是写入各个选择,用来实现menu.

3.如果选择1那么就进行游戏。我写入game()函数。

4.在game()函数中,我写入各个函数用于对棋盘进行一些操作,例如棋盘初始化、打印棋盘、设置雷以及排除雷。

4.1棋盘初始化

一开始将数组所有值设置为0,如果后期设置雷的话,就将雷设置为1.但是在排雷的过程中,如果某一个坐标不是雷就需要显示以他为中心九宫格内有几个雷,那么就会与雷这个数字1有冲突。于是就利用两个棋盘,并且使用字符‘0’和字符‘1’。一个用来设置雷,另一个用来显示雷的信息,就是在扫雷的过程中将已知的信息写入第二个棋盘中。

因为最后在控制台显示的只是第二个棋盘信息,所以他会被初始化为‘*’,而第一个棋盘是用来设置雷的非雷,即‘0’和‘1’。所以初始值也是一个变量,在Init函数中,我使用set这个作为初始值这个变量。

4.2打印棋盘

这个就是简单使用两个for循环,因为是一个二维数组。但是在扫雷过程过数坐标是一件很麻烦的事,所以我在这个棋盘的第一行和第一列写入了对应的数字。这个需要考虑到棋盘是从哪一个坐标开始的。

4.3设置雷

需要在棋盘上随机设置特定数字的雷,这个就立马想到使用rand这个函数。然后使用循环就可以实现随机布置10个雷。但是需要考虑到随机性,也就是说如果第一次和第二次随机的坐标的同一个坐标,就会浪费掉一次循环的机会,所以不是简单的循环10次。于是我使用到了while循

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值