技术帝的平台展示,网站建设、网站推广、SEO技术、网站优化、电子商务推广、平面美工和软件测试等技术干货分享。

羊了个羊第二关怎么过 – 从程序员专业角度分析一开局可能就是死局

随笔杂谈 abel-lan 12℃ 0评论

着了魔似的玩了几天羊了个羊,我发现我真的有病,而且病入膏肓,为啥要玩这个通关概率比买彩票中奖的概率都低的游戏,有这功夫,买张彩票不香吗。

养了个羊游戏第二关
养了个羊游戏第二关

上图是我玩的最好的几局中的缩影。相信大部分人都能玩到如此程度,但是就是过不了,是不是很虐心,然后我们就会着了魔似的不信邪的继续玩。经过几天的鏖战后,我们最好的局面仍旧是这种类似局面,是不是要疯掉的节奏,脑子里不断的再想,我要是那么那么消,就能过了,就差那么一点点。其实啊,现实远比我想的更加不堪,这个至少有15张牌隐藏着、底下至少还有两层。

退一万步讲,如果我要是获得移出道具,我就能赢了吗,恐怕我们想的太天真了。先不说隐藏的牌是否能如我们所愿顺利消除,通过分析程序源码后,我告诉你隐藏的牌是随机放的,你是不是立马就泄气了,而这种随机放能出现太多种死局。最难的往往还不是这里,而是到这里附近的几步,往往能走到这都非常非常少。

程序源代码分析

为了维护程序员的职业操守,我决定从专业角度分析了程序源代码,看看这款游戏怎么才能通关,通关概率有多大。

羊了个羊程序部分关键源码
羊了个羊程序部分关键源码

分析代码后,这个游戏里面并没有可以设置的陷阱,比如有些人猜测的故意少给一种牌。在程序的初始化阶段,每张牌是什么,就已经决定了,这里有个要求就是每种牌都是3的倍数。

其实确定牌摆放位置的机制那是真简单,它就是一个随机摆放,就类似于我们玩扑克牌,将所有牌洗牌后,按照制定的结构顺序随机摆放搭起来。这一步在程序没有任何特殊处理,比如要保证我最底下三层或者五层的牌能否全部消除。

这个游戏为什么那么难,难就难在不刻意上,没有故意挖坑,每种牌都是3的倍数,确实都能消完。事实上,如何让游戏能顺利消完,才是程序员最应该考虑的关键所在,而不是搞一个随机,这样弄出来的就是概率问题了,而无法保证每次都能过关

在横截面小,层数高的情况下,随机弄出不可解的情况远远大于可解的情况,这也就是我们玩到最后最容易遇到的。这才是为啥第二关那么难过的根本原因,而不是我们点错了、浪费了机会道具、消的路径有问题、运气不好这些因素。

当你知道你玩的游戏,一开局就是死局,你玩到最后是根本无法过的,你还会努力想玩它闯关吗。

为啥这个残缺品的游戏却能如此火呢

这就这个游戏精明的地方,将心理学、商业运营发挥到极致,可以说我们玩的不是游戏,而是心理学了,它只要抓住普通大众的心理共性就成功了一大半。

转载请注明:半亩方塘 » 羊了个羊第二关怎么过 – 从程序员专业角度分析一开局可能就是死局

赞 (5)支付宝扫码打赏微信扫码打赏分享
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址