C语言经典游戏开发:扫雷小游戏,零基础游戏教学,小白绝对不能错过的项目实战~

只有光头才能变强。

今天给大家来的是一款于1992年发行的小游戏,是的,你没看错,就是1992年。那这款游戏是什么呢?它就是《扫雷》,一款大众类的益智小游戏。

也许你可能不会玩,但是你绝对不可能听说过它!(实在没听过我也没办法,这不能怪我)

Windows系统以前自带这款小游戏的,如果你生活在城市,可能接触的更早!一般刚开始接触电脑止不住的想玩玩游戏,然后就会碰到这个小游戏!

这篇文章主要为大家详细介绍了C语言实现扫雷小游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

效果展示:

编译环境:

VS2015 && easyx

游戏规则,游戏主要实现的功能:
  1. 游戏的主界面,是一个一个小方格,在小方格上单击左键,可以翻开小方格看看后面有什么。

  2. 在这些小方格的背后隐藏着雷,如果不幸点中了雷,那么就GameOver了。

  3. 如果点中的不是一个雷,那么就是一块空地,这个时候会出现两种情况:

  • 用鼠标点中的空地周围八个点内有雷,那么就显示雷的个数
  • 用鼠标点中的空地周围没有雷,这个时候就将周围的空地全部显示出来,遇到该显示数字的空地,就将数字显示出来。
  1. 在小方格上,点击鼠标的右键,可以将一个空地标记为雷,当然这个功能只是为了方便你记忆你之前确定是雷的地方。

  2. 当空地上剩余的格子数和雷的个数一样多,那么这个时候就应该算是胜利啦。

OK~游戏流程说完了

如何实现这些功能
  1. 首先需要一张地图,一般情况下我们都可以用一个二维数组表示一个地图,每一个元素代表着扫雷中的一个小方格。相应元素存储0,那么地图上的这个位置就是空地,相应元素存储1,那么就代表这个位置就一颗雷。

  2. 在控制台上依照二维数组长度和宽度,打印相应的小方块。

  3. 然后就用鼠标点击那些小方块,对于控制台来讲,在黑框框的区域中是有坐标的,可以使用一些函数捕获到你点击了屏幕的哪一个坐标。

  4. 对于控制台来说,打印一个字符,有的字符横向占一个位置比如普通的字母数字,有的字符横向占两个位置比如一些图形字符: ①②③■◆等等,这点在控制台编程的时候要注意。

  5. 当点击屏幕的时候,获取到点击的坐标后,去二维数组中查看相应的位置是雷还是空地,从而做相应的处理。

  6. 假如点击到了雷,那么就控制游戏结束,假如点击到了空地有两种情况

  • 点击的空地周围有雷,那么就将雷的个数显示出来
  • 假如点击的空地周围没有雷,那么就使用递归的方法去探测周围的点,探测出与其相连的所有周围有雷的点。

【源码获取】:

由于平台原因,小编将完整源码放在小编自己的C语言/C++交流④群:836880131!资料共享在群文件里面,有需要的可以自行添加获取~

如果对代码有任何建议,都可以添加小编的学习交流群,欢迎大家来讨论~

源码展示:
#include <graphics.h>
#include <stdlib.h>
#include <dos.h>
#define LEFTPRESS 0xff01
#define LEFTCLICK 0xff10
#define LEFTDRAG 0xff19
#define MOUSEMOVE 0xff08
struct
{
int num;/*格子当前处于什么状态,1 有雷,0 已经显示过数字或者空白格子*/
int roun
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值