Minecraft(我的世界)中文论坛

标题: 【TRP出品】【乙烯】小游戏【扫雷】的具体原理分析

作者: 乙烯_中国    时间: 2015-5-1 21:41
标题: 【TRP出品】【乙烯】小游戏【扫雷】的具体原理分析
本帖最后由 乙烯_中国 于 2016-3-20 18:15 编辑

大家好,我是乙烯。今天给大家带来我的扫雷的原理详解以及制作过程中的思考步骤。

此贴与【TRP出品】小游戏复刻系列——扫雷【bug修复】联动,强烈建议过去兜一圈。

在之前呢,还是惯例的闲聊几句。准确的说,我发布的版本是版本6.3。这次的扫雷呢,也是补上了TRP的入组审核,虽然分量还是不够足,但是我觉得制作这样的一个作品的过程,本身就是非常快乐的。虽然在制作版本3和版本4的时候有人给我喝过倒彩,也有人说国外有人做过了。但是我觉得,因此就放弃的话是不对的。
在开坑的时候应该大约是1.7时代,那时我几乎相当于命令方面的小白,只知道有哪些指令及功能,要我自己来写指令,那是完全不可能的。但是,人是一种会在挑战中成长的生物。就在这个过程之中,我自己对命令的认识可以算是大大提升了,而实际上,平时在论坛里的厚积薄发也帮了我很多忙。此外,如果不能坚持读到这句话的人,我觉得成功路上多多少少会有坎坷。



一、整理思路
扫雷,一个风靡全球的小游戏,简单的规则,然而却能够吸引很多的玩家挑战。那么我们现在来分析一下扫雷的规则:

好的,那么现在我们确定了一个目标,制作扫雷,那么我们就可以根据规则列出一张扫雷的游戏流程表。(由于在初期计划阶段,我们大概画画就好。)

Ok,那么现在我们有了一个初始的计划图,现在,由于我们是要在mc里制作这样一个游戏,那我们现在开始就要将其模块化条理化并添加mc元素进去。容我们来梳理一下思路:


让我们简洁的整理下思路:
开局:生成雷局,开始计时器。
游戏中:检测输入,统计旗帜,检测胜利。
胜利:检查时间是否低于最优记录。
失败:反馈未正确标记的格子。
重新开局:重置雷局,重置计时器。

仔细看看其实我们要做的也不是特别多嘛,压力还是不大的。那么我们现在可以再将整理过的思路进行填充,增加实现方法。在开工各个部分之前,我们需要定一个整体的规划,这样就可以使我们建造出来的各个模块能够协同工作,可以理解为是某种协议。

二、开工
那么现在我们可以开工了。由于我们选择的是展示框显示屏,所以我们只能通过高频检测的情况来进行正常游戏。
这里我将我的电路截图进行说明,有图为证,整个扫雷的电路的确是模块化的产品:


制作开始。

这里是将地图进行预加载的地方,然而由于失误,我漏掉了没有雷的格子。

注:文中指令方块部分使用了绝对坐标,具体制作中请参考具体地图位置。

第一部分:开局


第二部分:游戏中


好的…实际上到这里,整个扫雷的主体已经完工,接下来就是一些非常简单的玩意儿。

胜利模块


失败模块


英雄榜模块
就是一个tellraw的打字机。鉴于命令过长,我将另外开贴进行说明。
请转至http://www.mcbbs.net/thread-441864-1-1.html观看


  

[groupid=143]The Redpixel[/groupid]
作者: 末影矿工    时间: 2015-5-1 21:45
发了? 干嘛不标【TRP|CBL】
作者: siiftun1857    时间: 2015-5-1 21:54
应该对旗帜溢出处理一下。。。
这样在就不会在只有十个雷的时候出现十一个旗子导致显示器出错。。。
作者: 乙烯_中国    时间: 2015-5-1 21:56
siiftun1857 发表于 2015-5-1 21:54
应该对旗帜溢出处理一下。。。
这样在就不会在只有十个雷的时候出现十一个旗子导致显示器出错。。。 ...

{:10_492:}是我说明不全,如果旗帜溢出的话旗帜统计会显示“E”
作者: siiftun1857    时间: 2015-5-1 21:58
乙烯_中国 发表于 2015-5-1 21:56
是我说明不全,如果旗帜溢出的话旗帜统计会显示“E”

但是原版的扫雷会出现"-1"或"-9"诸如此类的提示。。。
作者: 乙烯_中国    时间: 2015-5-1 22:02
siiftun1857 发表于 2015-5-1 21:58
但是原版的扫雷会出现"-1"或"-9"诸如此类的提示。。。

{:10_493:}那个就没办法啦...虽然再加一条计数器也可以做,但是我觉得跳E应该足够了(ps:其实我忘记导入负号的素材了)
作者: 江米条    时间: 2015-5-1 22:34
看到TRP还以为是红石制作的...
作者: 繁琐Fansuo    时间: 2015-5-1 23:19
大赞如此详细的原理
作者: jianghr    时间: 2015-5-2 01:54
本帖最后由 jianghr 于 2015-5-2 02:01 编辑

终于改完了,以后你发帖记得不要从WORD直接拷东西到编辑框,代码简直没法看,你的头稿里还在CB框里出现微软雅黑,简直逗。尤其是编辑置顶,严禁使用Word。
修改完的原稿已发本子群。你也可以自己在编辑模式提取。
排版和语言我重新给你修正了下,目的是给想学的人看懂,实际发教程时不要直接说CB,我都给你替换掉了。
然后,说下本帖说明的几个问题:
如果我没看错的话,mine记分板是做数字判定中比较重要的一部数据格式,然而通篇你没说,你只说了high记分板。全文介绍看似对结构和运行说的很明白,但是对参与判定和显示的核心——记分板数据一笔带过。
你这种模式的优点就是生成时就做了判定,游戏中的运行效率说得过去,GUI也不错。但在这篇解说中没有把这些优点突出出来。最具逼格的地图损害值显示系统,你没做任何解释……生成部分我单独给你拎了一下,其它部分我想拎但是怕拎错了误人子弟。
总而言之,从结果上看,这个制作很具有可玩性,解说也是用心撰写,我们这几个月来也是看着你一点一点做出来的,综上,予以加精。不过这篇解说最根本的目的不是写给群里人看的,而是让想学想仿的人能够按照你的解说看懂而仿制出来,希望能在今后注意这一点,多向贰逼学习他那种写教程的方法。
作者: C-青皮君    时间: 2015-5-2 08:35
所以说最复杂的部分是岛素材° A°
作者: G_LGlet    时间: 2015-5-2 12:03
居然全部看完了。。
不过为什么不加一个自定义雷数&自定义棋盘大小
作者: CrafterMichael    时间: 2015-5-2 12:25
法克,神奇啊!
作者: 乙烯_中国    时间: 2015-5-2 12:31
G_LGlet 发表于 2015-5-2 12:03
居然全部看完了。。
不过为什么不加一个自定义雷数&自定义棋盘大小

因为我发布的版本实际上是将中键系统移除的版本,中键和自定义系统不能共存。
作者: ufof    时间: 2015-5-2 12:47
本帖最后由 ufof 于 2015-5-10 14:10 编辑
翻开的第一个格子永远不会是雷。

为什么我有的时候玩扫雷刚开始就输

作者: GTVZDH123    时间: 2015-5-2 13:54
江米条 发表于 2015-5-1 22:34
看到TRP还以为是红石制作的...

红石也是TRP的?
话说你好像没看到标题的TRP后面又一个乙烯
作者: 江米条    时间: 2015-5-2 13:58
GTVZDH123 发表于 2015-5-2 13:54
红石也是TRP的?
话说你好像没看到标题的TRP后面又一个乙烯

Orz   TRP的官网不就是一大坨红石,而且TRP是简称..Red不是指红石吗
作者: GTVZDH123    时间: 2015-5-2 14:02
江米条 发表于 2015-5-2 13:58
Orz   TRP的官网不就是一大坨红石,而且TRP是简称..Red不是指红石吗

等等,我以为你说的是FHC红石
而不是游戏里的红石....
作者: guqu    时间: 2015-5-2 14:37
怎么没有蜘蛛纸牌
作者: Zlsin    时间: 2015-5-2 15:30
提示: 作者被禁止或删除 内容自动屏蔽
作者: 阿散ASun    时间: 2015-5-2 16:09
江米条 发表于 2015-5-2 13:58
Orz   TRP的官网不就是一大坨红石,而且TRP是简称..Red不是指红石吗

TRP的timeline里面明明也有唠叨的cb打字机哪里全部都是纯红石了
更何况TRP是红色像素而不是红石像素{:10_493:}
作者: PMMD    时间: 2015-5-2 19:22
挖槽! 厉害乙烯!
作者: 圆石    时间: 2015-5-4 20:35
本帖最后由 圆石 于 2015-5-4 20:39 编辑

启发了我的脑洞()
作者: super东    时间: 2015-5-4 21:03
提示: 作者被禁止或删除 内容自动屏蔽
作者: z9481752630    时间: 2015-5-4 21:51
不错~~~~~~~~~~~~~~~~
作者: chyx    时间: 2015-5-4 22:09
看完了 居然藏的这么好  我完全不知道 算法不错

我试着去做生命游戏 不过最近忙 要二摸 可能要过一段时间了
作者: denggezuishuai    时间: 2015-5-4 23:13
。。。。。人才啊,虽然完全看不懂,但是还是感觉吊吊的
作者: 乙烯_中国    时间: 2015-5-4 23:52
chyx 发表于 2015-5-4 22:09
看完了 居然藏的这么好  我完全不知道 算法不错

我试着去做生命游戏 不过最近忙 要二摸 可能要过一段时间 ...

{:10_493:}你让我这种已经做好的情何以堪啊。。。
作者: 乙烯_中国    时间: 2015-5-4 23:53
本帖最后由 乙烯_中国 于 2015-5-5 00:01 编辑
chyx 发表于 2015-5-4 22:09
看完了 居然藏的这么好  我完全不知道 算法不错

我试着去做生命游戏 不过最近忙 要二摸 可能要过一段时间 ...

本来是打算今晚发出来的。。。我再看看这几天能不能吧前面的给做的更好一点。
作者: chyx    时间: 2015-5-5 08:32
乙烯_中国 发表于 2015-5-4 23:53
本来是打算今晚发出来的。。。我再看看这几天能不能吧前面的给做的更好一点。 ...

/me 掀桌
  1. 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
复制代码

你做关灯游戏了么?
作者: 乙烯_中国    时间: 2015-5-5 10:01
chyx 发表于 2015-5-5 08:32
/me 掀桌

你做关灯游戏了么?

啊,如果你说的是点灯游戏的话,扫雷的副产品里有,不考虑复位的话六个cb就搞定了。
作者: chyx    时间: 2015-5-5 11:42
乙烯_中国 发表于 2015-5-5 10:01
啊,如果你说的是点灯游戏的话,扫雷的副产品里有,不考虑复位的话六个cb就搞定了。 ...




作者: chyx    时间: 2015-5-5 13:08
乙烯_中国 发表于 2015-5-2 12:31
因为我发布的版本实际上是将中键系统移除的版本,中键和自定义系统不能共存。 ...

怎么做自定义系统? 放个指针计数summon ?
作者: 项秉超    时间: 2015-5-5 20:57
能不能行。
作者: ASYTasyt    时间: 2015-5-6 20:15
CrafterMichael 发表于 2015-5-2 12:25
法克,神奇啊!

当然啦!{:10_492:}这么牛的作品
作者: ASYTasyt    时间: 2015-5-6 20:15
怎么能这么牛!{:10_495:}
作者: chyx    时间: 2015-5-7 12:51
我做好后比较一下谁做得好发谁的可以么?
作者: 乙烯_中国    时间: 2015-5-7 15:16
chyx 发表于 2015-5-7 12:51
我做好后比较一下谁做得好发谁的可以么?

你是有我私下的联系方式的,版聊是作死行为,私下找我。此外点灯和生命游戏的技术含量在我看来都不值得单独开帖,到时候再看吧。
作者: guqu    时间: 2015-5-7 17:59
我要lz的金苹果.好吧我要蜘蛛卡牌!.
作者: q394960445    时间: 2015-5-7 20:53
提示: 作者被禁止或删除 内容自动屏蔽
作者: fire__rain    时间: 2015-5-8 14:00
好玩!            
作者: 1903386055    时间: 2015-5-8 16:15
好复杂的说 看不懂
作者: 1578137    时间: 2015-5-10 13:45
诶,挺高能,学习学习
作者: 繁星满天    时间: 2015-5-11 13:16
看起来很有趣
作者: nyp1    时间: 2015-5-11 19:35
好NB啊,大神。
作者: 时光如年i    时间: 2015-5-11 23:35
扫雷.....楼主,你红石建筑到底有多狠。。。好厉害。
作者: 苏黎世°    时间: 2015-5-12 21:25
看不懂 - -楼主真流弊
作者: 954807079    时间: 2015-5-15 17:51
Ssssssssssssssssssss
作者: 索龙。sy    时间: 2015-5-17 18:43
大赞如此详细的原理
作者: 希晴    时间: 2015-5-19 23:07
{:10_493:}为何要在mc里做游戏
作者: 神秘预言师    时间: 2015-5-21 01:55
mc里玩扫雷。。。。。。。。
作者: chyx    时间: 2015-5-21 02:01
希晴 发表于 2015-5-19 23:07
为何要在mc里做游戏

因为可以做?
作者: 987607008    时间: 2015-5-22 21:40
在mc中制造智能电子产品已不是幻想
作者: jiangwuque    时间: 2015-5-23 16:01
诶...好高端
作者: 忘了回忆    时间: 2015-5-23 20:58
好厉害,这都给解释出来了,赞个
作者: NobleGolden    时间: 2015-5-24 12:58
果然大触!!膜拜
作者: 懒虫哥    时间: 2015-5-25 13:12
(⊙0⊙)哇
涨姿势OWO
作者: chyx    时间: 2015-10-15 18:12
为何你的连连看没有精品?
作者: 去猫    时间: 2015-10-15 21:20
额...我想说,为什么不用踩方块的形式?。。。反正都是改材质
作者: 乙烯_中国    时间: 2015-10-15 22:02
去猫 发表于 2015-10-15 21:20
额...我想说,为什么不用踩方块的形式?。。。反正都是改材质

并没有改材质
作者: 1481000501    时间: 2015-10-16 18:00
额'服用的