被「羊了个羊」逼疯后,鹅厂程序员怒而自制「必通关版」|GitHub热榜

Posted QbitAl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了被「羊了个羊」逼疯后,鹅厂程序员怒而自制「必通关版」|GitHub热榜相关的知识,希望对你有一定的参考价值。

詹士 发自 凹非寺
量子位 | 公众号 QbitAI

「羊了个羊」有多恶心?

能逼程序员气到撸起袖子自己上……

这两天,GitHub上就出现这么一个仿制版,名曰「鱼了个鱼」

不同于以「极低通关率」肝死玩家的原版,此版作者放出话来——

没广告!可自定义关卡和图案!道具无限!

甚至可以定制出这(离)(谱)的界面:

目前,该项目已登GitHub热榜,获297个Star。(链接已附在文末)

比「羊」更让人舒适

先看看这款「鱼了个鱼」体验如何。

从最简单模式开启,简直不要太Easy,道具都无需使用。

再看中等和困难模式,稍有难度,还好有道具!

原版的洗牌、撤回、移出可无限次使用,还有更多玄妙功能。

比如透视,能看到最下方两列叠起来图案依次是什么,这感觉,相当于斗地主把最后三张看完了。

再比如圣光,能把一大堆图案下面的图层从灰变白,看得更清楚。

最逆天的还是破坏功能,直接消掉3个同样图案:

也就是说,一直狂按这个道具能直接通关。

值得一提的是,通关后祝贺画面是这个:

建议作者优化下前端,直接换成这个:

怒而自制必通关版

据作者介绍,自己也是玩「羊了个羊」几十次,其间,他用尽道具,看了几十遍借贷广告,向富家千金反复求婚,仍然过不了第二关——

他发现事情不对劲。

由于方块生成完全随机,那越到后期,越来越多方块叠压在一起,可选方块变少,自然越来越难,经常无解也是常事。

另一方面,正是极低的通关率让每个「自以为必胜」的玩家上头得不行,形成了上瘾感。

于是……他怒而自制一个必能通关的版本。

要求嘛,务必无广告,务必道具无限,要能自定义难度和图案,那更是一件美事儿。

具体到原理,作者提出四大纲领。

首先,游戏全局参数设置上,需要将槽位数量、层数等变量抽取成统一的全局变量,每当修改一处,系统自动适配,此外,作者还开放了参数自定义——

嫌槽位不足?可以自己多加一个!

其次是整体网格设计。

为了能快速做出游戏,作者直接将画布分为24×24的虚拟网格,类似一个棋盘——

每个网格又被划分成3×3的小单元,各层图案生成时,会相互错开1-2个单元,形成层层交叠、密密麻麻的样子。

第三步是设计随机生成块的图案和坐标。

先根据全局参数计算总块数,游戏难度越高,块数和相应层数也越多,然后作者用shuffle函数打乱存储所有动物图案的数组,再依次,把图案重新填充到方块中。

至于如何生成方块坐标,直接让程序随机选取坐标范围内的点,同时随层级变深,坐标范围也越来越小,造成一种——

越往深了去,图案越拥挤,难度相应越高的效果。

 大致分布规律就是越「深」层越「挤」

最后,设定上下层块与块的关系。

作者先给每个块指定一个层级属性,随机生成时,给相互重叠的块绑定层级关系,确保消掉上层块,才能点击下层块。

基于上述思路,作者熬夜爆肝几个小时,就把游戏雏形做出来了,还放到GitHub上将代码开源——

他感慨道,总算是满足了自己的通关夙愿。

作者介绍

事实上,「鱼了个鱼」项目作者「程序员鱼皮」已小有名气。

据其个人公开资料显示,「程序员鱼皮」98年出生,现在鹅厂,从事全栈应用开发,同时,也是腾讯云开发高级布道师。

工作之外,鱼皮利用业余时间做了很多入职大厂经验、技术干货和资源分享,据他称,在校期间就带领工作室建设了几十个校园网站。

最后,附上「鱼了个鱼」在线体验链接,收获通关喜悦(狗头):

https://yulegeyu.cn

参考链接:
[1]https://github.com/liyupi/yulegeyu
[2]https://www.bilibili.com/video/BV1Pe411M7wh
[3]https://mp.weixin.qq.com/s/D_I1Tq-ofhKhlp0rkOpaLA

以上是关于被「羊了个羊」逼疯后,鹅厂程序员怒而自制「必通关版」|GitHub热榜的主要内容,如果未能解决你的问题,请参考以下文章

被「羊了个羊」逼疯后,鹅厂程序员怒而自制「必通关版」|GitHub热榜

爆火小游戏《羊了个羊》,我偏不玩

羊了个羊网页版

复刻一个羊了个羊掘金商城版

羊了个羊,但是Python简(li)单(pu)版

程序员用12小时复刻《羊了个羊》,代码已开源!