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

news/2024/12/29 1:04:59/
詹士 发自 凹非寺
量子位 | 公众号 QbitAI

「羊了个羊」有多恶心?

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

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

80c4ac7680252de2f62734c84f12075d.png

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

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

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

b0c96fc739c82bea7ff5f969d1208e7e.png

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

d8735be1f0dc15617e6e43bb009740da.png

比「羊」更让人舒适

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

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

ba3d24c4d6dc28a783f2153d02e42ac2.png

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

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

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

147934e7efb858208b33cbd34c2433a8.png

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

78c99d2e2c34e3b376aa61eae5252361.gif

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

42ae94db56de6e9a2088127e4e392cbf.gif

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

485a9d4890a6e0f61e4537127019085f.png

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

b8e4046202f1bc52e1cf9bada72eebc0.png

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

e09622c4d7b5e2898df7d588e445c29f.gif

怒而自制必通关版

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

他发现事情不对劲。

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

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

03f2b615645c79cc8aaf1b78d9dbbdf4.png

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

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

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

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

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

5c49c07c421e590b46a137f45f1fb31a.png

其次是整体网格设计。

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

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

d981521d0db7d4978036f03aea9ef1b5.png

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

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

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

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

2e161ca1f883cbbc3cb069a19eb24b1a.png

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

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

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

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

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

dbbf69bc268ddd69b2ae67f04fd519be.png

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

END

56271ce9f88282526973c53bea1254ad.png


http://www.ppmy.cn/news/526575.html

相关文章

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

「羊了个羊」有多恶心? 能逼程序员气到撸起袖子自己上…… 这两天,GitHub上就出现这么一个仿制版,名曰「鱼了个鱼」。 不同于以「极低通关率」肝死玩家的原版,此版作者放出话来—— 没广告!可自定义关卡和图案&#xf…

ARM、ARM架构、ARM架构芯片

ARM是一种基于精简指令集(RISC)的处理器架构,它由英国的ARM公司设计和授权。 ARM芯片具有低功耗、高性能、高集成度等特点,广泛应用于嵌入式系统、移动设备、物联网、服务器等领域。本文将介绍ARM的各类芯片,包括其特…

PHP课程网站络管理系统(源代码+论文)

管理系统是根据课程网站的需求而设计和实现的,主要 用于实现课程系统办公人员对其办公系统内所有公务员进行管理,实现对员工信息的查询、录入、修改和删除;以及发布重要通知、最新信息和规章制度。通过“网上办公,无纸办公”,大大提高办公效率,体现现代政府的高效职能。 …

实战:NPMYARN构建工具实践-2023.6.22(测试成功)

实战:NPM&YARN构建工具实践-2023.6.22(测试成功) 目录 推荐文章 https://www.yuque.com/xyy-onlyone/aevhhf?# 《玩转Typora》 实验环境 gitlab/gitlab-ce:15.0.3-ce.0 jenkins/jenkins:2.346.3-2-lts-jdk11 openjdk 11.0.18 [rootDevops6 ~]#npm -v 6.14.12…

Jenkins安装手册

Jenkins安装手册 一、前期准备工作 因为我是在Windows系统上连接Linux服务器以及需要把在Windows系统下载的安装包上传到Linux系统,所以需要用到两个工具---putty 和FileZilla。 Putty是一个免费的、Windows 32平台下的telnet、rlogin和ssh客户端,但是…

word2019设置背景色为护眼的绿色

word2019设置背景色为护眼的绿色 问题描述: word的白色背景反光太强, 对眼睛不好, 需要设置成相对护眼的豆沙绿颜色 解决方法, 如下图所示, 设计→页面颜色→其他颜色→自定义→设置rgb值, 红色为204, 绿色为232, 蓝色为207

单元格规则设置举例——单元格根据当前日期变化自动高亮

1.效果:在日历中自动高亮显示当前日期 2.路径:开始——条件格式 3.管理规则,这个界面可以设置规则覆盖范围(可以先填好公式后再回来修改) 4.在管理规则这里选择“新建规则”,即弹出如下界面,如…

设置Idea护眼背景色 简单明了

设置IDEA护眼背景色(简单明了,无废话) 步骤说明: File —>settings—>Editor—>Color Scheme—>General—>点击右侧Text—>选择Default text,再点击最右边的Background右边的小框框,设…