C语言的实践项目--扫雷游戏

本期来写一篇关于数组和函数实践的扫雷游戏

一、扫雷游戏项目的功能说明。

1、通过控制台来实现经典的扫雷游戏

2、游戏可以通过菜单开始或结束游戏

3、棋盘布置为最简单的9*9

4、默认随机布置10个雷

5、能够排查雷    如果不是雷,可以显示周围雷的个数。如果是雷则炸死结束游戏。

把除10个雷之外其余的全部都找到,则游戏胜利。

二、游戏的分析与设计

首先我们要设置一个菜单来保证游戏的进行与结束

这个菜单可以是多样的,大家都可以自行设计,这是我设计的一个例子:

通过这一个菜单可以说明输入1进行游戏,输入0结束游戏。

下面这是主函数的程序内容:

可以看到我们利用while语句进行了多组输入,并且利用了case语句对输入的情况进行了分类。

这是我们在程序设计中的菜单内容。

菜单设计完成之后,我们就要进行游戏的设计了。

首先咱们这是一个9*9的棋盘。那么怎样来设计这样一个棋盘呢?

对于这一个棋盘我们可以用一个二维数组来表示,分别代表他们的横纵坐标,这样的话,我们在排雷的时候就更加便捷了。

另外怎样来表示是雷或不是雷呢?

我们可以用字符‘1’来表示雷,用字符‘0’来表示非雷。

此外我们还需要两个二维数组,为什么要两个呢?因为在排查雷的过程中,在该坐标周围的雷可能是一个,那么我们就需要在此处标记一个1,这跟我们在数组中布置的相互冲突了。

这就需要我们用两个数组,一个记录原始的数据,一个用来排查雷。这样就可以了。

例如:

此外,如果输入的坐标不是雷,那么我们就需要排查该坐标周围雷的数量,对于基本的坐标来说,它的周围有9个雷,但对于角落的或者其他特殊的坐标来说,这可不是九个了。

这该怎么办呢?

这就需要我们在9*9格式的基础上改为11*11的格式,有了这样一个统一的规律,这样就能够保证代码较好的书写了。

思路有了,我们怎样用代码实现呢?

三、扫雷代码的实现。

这时我们就需要结合函数和数组来进行了。

首先我们需要在VS中创建三个文件game.h(用来进行函数的声明)game.c(用来写函数)test.c(用来写主函数)这样我们在写代码的时候条理就清晰很多了。

game.h

game.c

test.c

有需要原码的小伙伴可以去我的gitee仓库,自取。

水平有限仅供参考,喜欢的话可以点点赞,点点关注,如有错误请及时批评指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值