1.C语言扫雷游戏(上)

C语言扫雷游戏(上)

前言:本博客讲述的是数组和函数的应用:扫雷游戏,分为上下两个部分
扫雷游戏功能说明:
游戏可以通过菜单实现继续玩或者退出游戏
扫雷的棋盘是9*9的格子
默认随机布置10个雷
排查雷的规则:
如果位置不是雷,就显示周围一圈有几个雷
如果位置是雷,就炸死,游戏结束
把除10个雷之外的所有非雷都找出来,排雷成功,游戏结束

一、游戏功能的分析和设计

1.数据存储和展示的分析

(1)存放雷的信息:扫雷游戏的界面是一个棋盘,很容易联想到用一个9*9二维数组来进行展示,不妨用0表示没有雷,1表示有雷。
在这里插入图片描述
现在我们有了存放雷信息的数组(命名为mine),但现在遇到一个问题,如果我们排查边角位置,比如黄色点标记的(9,9)处,显示周围一圈雷的信息的时候就会产生数组越界的问题(右侧和下方都会出现越界问题),那索性就把棋盘扩大成11✖11吧。
通过这种设计,我们实际上使用的是蓝色棋盘,外围紫色的一圈是为了数组不越界设计的,紫色的一圈不会布置雷。

在这里插入图片描述
(2)展示游戏界面:显然我们不能把存放雷信息的数组直接展示出来,那么就需要再来一个数组(命名为show)展示给用户看,用户玩游戏的时候看到的就是这个棋盘。
show数组初始化后的示意

mine数组初始化后的示意
‘*’为show数组初始化之后的示意,‘0’为mine数组初始化之后的示意
(3)梳理一下:两个数组分别为:mine[11][11]={0},show[11][11]={0}

2.文件结构的设计

实现一个游戏代码量比较大,因此分成多个文件写代码会让逻辑更为清晰明了
(1)写游戏的测试逻辑:test.c
(2)游戏中各个函数的实现:game.c
(3)游戏中的数据类型定义和函数声明:game.h

二、游戏结构的设计

如果不知道从何开始,那可以从宏观到微观进行设计。我们玩游戏的时候都会先打开一个菜单,点击开始游戏之后玩游戏,游戏结束以后还可以自主选择要不要再来一把,因此主函数的架构就已经出来了。

1.主函数的架构

主函数的架构

到此为止,整个游戏的逻辑框架就有了,那么我们在下一篇来实现这个扫雷游戏。

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值