【游戏专区】扫雷

哈哈,没错,又是我,士别,反正有几个小时没见了,就对了。今天我们来完成一个很好玩的小游戏,扫雷,大家想必都不陌生吧。扫雷的规则想必都了解吧,不了解也没事,退下,即可。哈哈,当然是开玩笑的啦。

不了解的话,那我们来讲讲扫雷的规则吧。

,哎,有问题,好像拿错了这才对嘛。

我想,这么讲,大家应该还是没有理解吧。没关系,洗洗睡吧,明天会更好的。

我们了解了扫雷的规则,那我们要怎么写它呢,首先,我们看到它的很多格子,能想到我们所学C语言的什么,没错啦,就是二维数组。既然想到了,那先写出来呗

我们不管写什么程序,是不是都应该先初始化数据呢

我们有了初始化,那我们有没有初始化成功呢,是不是应该打印出来看一下,所以我们还需要一个打印函数

那我们接下来应该干什么呢,扫雷,我们还缺少什么最主要的东西呢,没错,就是我们的雷,我们还需要一个布置雷的函数

这些雷在我们游戏的开始是不是就应该存在呢,所以,我们在哪里调用,应该显而易见了吧

想想我们以前玩的扫雷,如果一个格子在以自身为中心的九宫格中,雷的数量与其显示数字一致。所以我们还缺少一个显示自身周围雷的函数。

很多小伙伴可能不理解我们为什么要加防止越界访问

我想现在大家都应该明白了,计算周围雷个数的函数,是不是也在游戏开始的时候就应该加载完成呢,所以我们应该在哪里调用我们的函数,很明显了吧

我们现在基本什么都有了,但是这样还不行,因为我们现在是明文,玩家可以看到我们的雷,所以就没什么可玩性,为了我们游戏的可玩性,我们有两套方案。

1.   再建立一个数组,把显示新建的数组,以下标的方式,再终端中去玩游戏。

2.   借住我们easyx库进行图片加载,渲染,用鼠标点击操作我们的游戏。

我这里选择应用第二种,但是这里我们需要去下载easyx库:

点击下载

因为我们这是C++的库,想要使用它,我们还需要将我们的.c后缀改为.cpp

我们有了图形库,但是,没有图片可加载也是不行的,所以,我们还需要图片进行加载和渲染。

链接:https://pan.baidu.com/s/11u6Gg5a-Kc6WV9DlJs6K8Q 
提取码:1234 

这里是我找到的图片,我相信聪明的你,可以自己绘制,相信你。

在我们使用这个库的时候可能会遇到一些问题,我这里先给解决一下

那么好,我们可能会遇到的一些问题也解决了。那我们继续吧。

我们在使用easyx的时候,一定要加头文件

使用它,我们第一步创建一个窗口,然后去加载我们的图片,具体应该怎么做呢,

当我们有了可以加载图片了之后,是不是马上想去看看,体验一下呢,先别急,我们还缺少渲染,我们不渲染,图片是不会加载的

这时候,我们运行程序,你就会发现有一道黑影一闪而过,那是因为我们计算机处理数据特别快,我们肉眼很难捕捉,所以我们要阻塞一下,让其停止,等待我们下一步操作。具体应该怎么做呢

让我们直接上代码,

很明显我们是不是显示出来了呢,但是我们的终端不见了,我们无法观察数据,

我们显示出了雷,那其他个字是不是也应该显示出来呢。

到这里是不是也特别的简单呢。那让我们看看效果呢。

但是这样还是不够的哦,我上面说过,我们雷和数字都显示出来了,所以没什么可玩的。那应该怎么办呢。我有一个妙计。我们可以对我们的数据加密一下,在用户没有点击的时候,让它显示这个东西。我们是不是还需要一个加密函数。具体应该怎么做呢,上代码,

我们应该去哪里调用它呢,没错,还是我们初始化函数,相信聪明的你们应该知道怎么做了

现在我们去运行的话

现在是不是看不到了,接下来是不是就到我们用户点击,然后让它解密,所以我们还需要一个函数显示出我们的数字和雷呢。具体应该怎么操作呢,让我们直接上代码。

可能聪明的你们已经发现了它:click_blank_mine(mine, row, col),这个是我们后面要实现的函数,暂时将其屏蔽或者删掉都是可以的。

当我们现在运行,你就会发现还是不起作用,为什么呢,因为我们只加载和渲染了一次啊

我们现在数据刷新是很快的,无法观察,所以我们还需要

我们玩过扫雷的都知道,当我们点击空白也就是0的时候,我们就展开一片,我们应该怎么做呢,让我们

,喝完了吧,那我们继续。还记得我们在用户点击中调用的click_blank_mine(mine, row, col)它吗。

我们来实现它就可以了。

现在我们就差结束游戏了,我们想想怎么才能结束游戏呢,

1.点到雷,被雷炸

2.点完所有不是雷的格子,进入下一关,当然,我只写了一关,后面就交给你们喽。

那我们在哪里写这些比较合适呢,主函数可以,但我更喜欢在用户点击中去实现。

我想聪明的你们已经想到了很多种好玩的方法,别说我教的哦,

接下来就是我们判断格子全部点完,游戏结束的函数了

哈哈,你们玩吧,我相信你和你的好朋友的感情一点会迅速升温的哦

  • 41
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值