Excel怎么玩扫雷?成品及制作思路分享! |
您所在的位置:网站首页 › 永中表格制作表格 › Excel怎么玩扫雷?成品及制作思路分享! |
Excel怎么玩扫雷?成品及制作思路分享!
2021-09-06 17:47:46
4点赞
19收藏
5评论
创作立场声明:本文是基于Excel放飞自我的一种体验式原创分享。人生一世,些许言语,悦人悦己,亦为值。 Excel就只能是三十年手速疯狂填数据吗? Excel就只能是死扣细节制作华丽图表原地成仙吗? Excel就只能是枯燥乏味的闭眼复制粘贴吗? NO~~~ 我们还可以用它搞点乐子!来吧,既然不能功成名就,那就努力做个有趣的灵魂! 扫雷,相信大家都玩过,但是用Excel玩应该没几个,自己做完自己玩,应该没有谁会这么可爱吧~哈哈哈~ 成品展示:
获取路径: 简单版 专业版 制作思路(如果)一、扫雷的简单介绍首先我们弄清楚扫雷的规则和逻辑,以最低难度为例: 在9x9的网格内,随机分布了10颗地雷。 在格子内显示周边地雷的数量,通过不同格的数字来分析和推理地雷的分布。 点到有地雷的格即为输。 二、Excel制作梳理要实现的功能: 点击单元格,自动显示当前单元格的隐藏数值 根据当前单元格数值进行判断,并自动进行扩展显示等相应操作 判断游戏胜利和失败 当游戏开始时,操作区域是未知的,但你点与不点,地雷就在那里,不离不弃!所以,在操作区域之外,还需要设定一个隐藏区域,用于存放已定确定的地雷和数值分布。 基于这个思路,使用Excel制作扫雷小游戏的步骤大致如下:
1 地雷“X”分布 指定9x9的单元格区域,随机选择其中10个单元格,写入“X”,再根据X计算周边单元格的数值。 1.1 “X”随机写入 1.1.1 随机选取10个单元格 思路: 通过行、列号来确定区域内的单元格位置。 为了避免重复,将所有单元格的行列号组成数组,随机获取10组,再提前行号和列号。 将“X”写入已定位的随机单元格。 制作: 设定单元格区域为A1:I9。 按照行列号,由11~99(剔除含0数字)组成整数数组,填充为一列。 做辅助列,使用RADN函数填充,再通过SMALL函数查找辅助列中最小的10个随机数,再使用MATCH函数得到这10个最小随机数的行号,最后使用INDEX函数返回行号对应的数组。(事实证明,这一步也可以使用VBA排序,然后复制前十即可,更简单!) SMALL(查找区域,指定第几小) MATCH(查找条件,区域,方法) INDEX(区域,行号,列号) 使用LEFT和RIGHT函数提取行号和列号。 LEFT(单元格,左起截取几个) RIGHT(单元格,右起截取几个) 使用VBA的for...next循环,按照行、列号写入"X" 事实证明,因为涉及自动刷写,这里使用Excel函数虽然可以并不能减少对VBA代码的依赖,反而更复杂了。专业版直接使用for...next写入并在中间做一个非重复的判断就实现了同样的效果,简单了很多。 1.2 地雷数量的计算和写入 创建另一区域,以写好”X“排布的区域为基础,使用IF和COUNTIF函数组合,计算空白单元格周围区域的地雷数量。 COUNTIF(区域,要查找的内容) 2 操作策略设计 设计鼠标点击时,相应的操作和逻辑。 2.1 值判定 思路: 如果所选单元格,对应隐藏区域单元格的值为0,则复制该单元格及周边区域的值。 如果所选单元格,对应隐藏区域单元格的值不为0,则只复制该单元格的值。 制作: 以当前选择单元格的行、列号定位隐藏区域对应的单元格。 VBA界面使用IF...THEN...语句进行判定和复制操作。 2.2 结果判定 思路: 当所选单元格,对应隐藏区域单元格的值为X时,游戏结束。 所有非X单元格被点击识别出之后,游戏胜利。 制作: 在值判定的IF...THEN...中增加一项X判定,成立则输出“游戏结束”并end sub。 在值判定之后,增加新的IF...THEN...语句,操作面板的数值和等于隐藏区域的数值和(即所有数字单元格都均已经识别出)时,输出“游戏胜利” 2.3 点击自动操作 思路: 点击操作面板单元格之后,自动进行值判定、结果判定。 制作: 将值判定和结果判定,写进同一个sub。 将sub更改为Private Sub Worksheet_SelectionChange(ByVal Target As Range),放在操作面板对应的sheet。 设置所选单元格的行、列号为变量,通过变量贯穿计算。 3 操作面板设计 3.1 设计面板区域 3.1.1 限定窗口滚动 在VBA界面的Sheet属性中,修改ScrollArea即可。 3.1.2 限定选择范围 修改游戏区域为“未锁定”,保护工作表,选择“选定未锁定单元格”。 3.2 增强显示效果 使用条件格式,对单元格为空值、数字、X分别以不同的颜色显示。 4 调整细节 略过 ![]() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |