C++代码实现扫雷游戏

您所在的位置:网站首页 python扫雷游戏代码 C++代码实现扫雷游戏

C++代码实现扫雷游戏

#C++代码实现扫雷游戏| 来源: 网络整理| 查看: 265

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

前言

提示:本文是基于easyX图形库实现的,还有部分功能可以添加,仅适合新手参考。

提示:以下是本篇文章正文内容,下面案例可供参考

一、扫雷游戏模式

在确定大小的矩形雷区中随机布置一定数量的地雷,玩家需要尽快找出雷区中的所有不是地雷的方块,而不许踩到地雷。 游戏的基本操作包括左键单击和右键单击。其中左键用于打开安全的格子,推进游戏进度;右键用于标记地雷,以辅助判断。 左键单击:在判断出不是雷的方块上按下左键,可以打开该方块。如果方块上出现数字,则该数字表示其周围33区域中的地雷数(一般为8个格子,对于边块为5个格子,对于角块为3个格子。所以扫雷中最大的数字为8);如果方块上为空(相当于0),则可以递归地打开与空相邻的方块;如果不幸触雷,则游戏结束。 右键单击:在判断为地雷的方块上按下右键,可以标记地雷(显示为小红旗)。重复一次或两次操作可取消标记。

二、代码实现

1.绘制地图场景

根据每一块地区的数据进行图形输出。

代码如下(示例):

void drawmap(int map[][12],IMAGE *img) { int i, j; for (i = 1; i 9) //已翻开的情况 { continue; } if (map[mi][mj] == 0) //如果点击为0,则http://www.cppcns.com翻开一片。 { //使用递归函数 swap(map, mi, mj); } else { map[mi][mj] += 10; sum += 1; } return map[mi][mj]; break; case WM_RBUTTONDOWN: if (map[mi][mj] > 9&& map[mi][mj] < 25) //已翻开的情况 { continue; } if (map[mi][编程客栈mj] > 25) //再次点击取消flag { map[mi][mj] -= 30; } else { map[mi][mj] += 30; } return map[mi][mj]; break; } } }

3.递归

当我们点到为0的地区时,将会打开周围的部分地区,外围为非0数或到达边界,内部为0. 如图:

C++代码实现扫雷游戏

代码如下(示例):

void swap(int map[][12],int mi,int mj) { map[mi][mj] = 10; sum += 1; for (int i = mi - 1; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3