c语言小白写扫雷基础版

大家好,这是一篇关于我写扫雷基础版的一个过程,写下来分享给大家。

扫雷游戏我相信大家一定不陌生,这是在一些电脑中自带的游戏。点击游戏页面的小格,只有两种情况,一种是没有点到雷继续筛选,直到全部筛选完游戏胜利;另一种是点到雷游戏结束,也是一个不错的休闲小游戏。


目录

1.扫雷游戏分析和设计

   1.1扫雷游戏功能说明

   1.2游戏的分析和设计

           1.2.1数据结构分析

           1.2.2文件结构设计

2.扫雷游戏的代码实现

   


1.扫雷游戏分析和设计

1.1扫雷游戏功能说明

  (1)使用控制台实现经典游戏扫雷

(2)游戏通过菜单实现继续玩还是退出游戏

(3)扫雷的棋盘是9*9格子

(4)默认随机布置10个雷

(5)可以排查雷

       1’如果位置不是雷,就显示周围有几个雷

       2’如果是雷,就结束游戏

       3’把所有非雷格子找出来就游戏胜利

游戏界面

                                 

 1.2游戏的分析和设计

 1.2.1数据结构分析

首先扫雷过程中,储存雷和排查雷的信息都需要储存,所以需要数据结构来储存信息,在上文中提及是9*9的游戏难度,所以这里创建两个9*9的数组来储存这两种信息。

空棋盘

如果是雷就存放‘1’,如果不是雷就存放‘0’

布置雷的棋盘

当我们排查坐标(4,6)的时候,访问周围8个坐标,统计周围雷的个数为1。当我们排查坐标(9,4)的时候,访问下面3个位置时,就会越界;为了防止越界这种情况,可以将数组扩大一圈,使扩大的部分初始化为‘0’,这样既不会越界,也不会影响周围雷的统计,所以创建数组时应该扩大为11*11的二维数组。

储存雷的信息讲完了,就到了存储排查雷时的信息了。应该做到排查雷时,对储存雷的信息没有任何影响,玩游戏过程中更不可能把存储雷信息的二维数组打印出来,所以应该再创建一个11*11的二维数组来储存排查雷的信息,并将其初始化为‘*’来区分。定义储存雷信息的二维数组为mine,储存排查雷的数组为show。

                

                        mine                                                                  show

对应的数组应该是

 1.2.2文件结构设计

由于代码和定义对我来说比较多,同时也为了在写代码过程中更加清晰明了,所以使用多文件对函数声明和定义。

 2.扫雷游戏的代码实现

test.c

game.h

 game.c

//注意定义函数时需要定义的数组为11*11的大数组,但在操作对象为中间9*9的部分,所以在传参时一定注意不要弄错了

到这扫雷基础版就已经结束了,在后续学习中,我会不断完善和提高它的难度。

看到这,如果大家觉得还行的就点点赞吧。

请批评指正。 

  • 14
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值