被《羊了個羊》逼瘋后 鵝廠程序員怒而自製“必通關版”《魚了個魚》

“羊了個羊”有多噁心?能逼程序員氣到擼起袖子自己上……這兩天,GitHub上就出現這麼一個仿製版,名曰“魚了個魚”。不同於以“極低通關率”肝死玩家的原版,此版作者放出話來——沒廣告!可自定義關卡和圖案!道具無限!。甚至可以定製出這(離)樣(譜)的界面:

被《羊了個羊》逼瘋后 鵝廠程序員怒而自製“必通關版”《魚了個魚》

被《羊了個羊》逼瘋后 鵝廠程序員怒而自製“必通關版”《魚了個魚》

目前,該項目已登GitHub熱榜,獲297個Star。(鏈接已附在文末)

被《羊了個羊》逼瘋后 鵝廠程序員怒而自製“必通關版”《魚了個魚》

比“羊”更讓人舒適

先看看這款“魚了個魚”體驗如何。

從最簡單模式開啟,簡直不要太Easy,道具都無需使用。

被《羊了個羊》逼瘋后 鵝廠程序員怒而自製“必通關版”《魚了個魚》

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

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

比如透視,能看到最下方兩列疊起來圖案依次是什麼,這感覺,相當於鬥地主把最後三張看完了。

被《羊了個羊》逼瘋后 鵝廠程序員怒而自製“必通關版”《魚了個魚》

再比如聖光,能把一大堆圖案下面的圖層從灰變白,看得更清楚。

被《羊了個羊》逼瘋后 鵝廠程序員怒而自製“必通關版”《魚了個魚》

最逆天的還是破壞功能,直接消掉3個同樣圖案:

被《羊了個羊》逼瘋后 鵝廠程序員怒而自製“必通關版”《魚了個魚》

也就是說,一直狂按這個道具能直接通關。

值得一提的是,通關后祝賀畫面是這個:

被《羊了個羊》逼瘋后 鵝廠程序員怒而自製“必通關版”《魚了個魚》

建議作者優化下前端,直接換成這個:

被《羊了個羊》逼瘋后 鵝廠程序員怒而自製“必通關版”《魚了個魚》

怒而自製必通關版

據作者介紹,自己也是玩“羊了個羊”幾十次,其間,他用盡道具,看了幾十遍借貸廣告,向富家千金反覆求婚,仍然過不了第二關——

他發現事情不對勁。

由於方塊生成完全隨機,那越到後期,越來越多方塊疊壓在一起,可選方塊變少,自然越來越難,經常無解也是常事。

另一方面,正是極低的通關率讓每個“自以為必勝”的玩家上頭得不行,形成了上癮感。

被《羊了個羊》逼瘋后 鵝廠程序員怒而自製“必通關版”《魚了個魚》

於是……他怒而自製一個必能通關的版本。

要求嘛,務必無廣告,務必道具無限,要能自定義難度和圖案,那更是一件美事兒。

具體到原理,作者提出四大綱領。

首先,遊戲全局參數設置上,需要將槽位數量、層數等變量抽取成統一的全局變量,每當修改一處,系統自動適配,此外,作者還開放了參數自定義——

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

被《羊了個羊》逼瘋后 鵝廠程序員怒而自製“必通關版”《魚了個魚》

其次是整體網格設計。

為了能快速做出遊戲,作者直接將畫布分為24 x 24的虛擬網格,類似一個棋盤——

每個網格又被劃分成3×3的小單元,各層圖案生成時,會相互錯開1-2個單元,形成層層交疊、密密麻麻的樣子。

被《羊了個羊》逼瘋后 鵝廠程序員怒而自製“必通關版”《魚了個魚》

第三步是設計隨機生成塊的圖案和坐標。

先根據全局參數計算總塊數,遊戲難度越高,塊數和相應層數也越多,然後作者用shuffle函數打亂存儲所有動物圖案的數組,再依次,把圖案重新填充到方塊中。

至於如何生成方塊坐標,直接讓程序隨機選取坐標範圍內的點,同時隨層級變深,坐標範圍也越來越小,造成一種——

越往深了去,圖案越擁擠,難度相應越高的效果。

被《羊了個羊》逼瘋后 鵝廠程序員怒而自製“必通關版”《魚了個魚》

△ 大致分佈規律就是越“深”層越“擠”

最後,設定上下層塊與塊的關係。

作者先給每個塊指定一個層級屬性,隨機生成時,給相互重疊的塊綁定層級關係,確保消掉上層塊,才能點擊下層塊。

基於上述思路,作者熬夜爆肝幾個小時,就把遊戲雛形做出來了,還放到GitHub上將代碼開源——

他感慨道,總算是滿足了自己的通關夙願。

被《羊了個羊》逼瘋后 鵝廠程序員怒而自製“必通關版”《魚了個魚》

作者介紹

事實上,“魚了個魚”項目作者“程序員魚皮”已小有名氣。

據其個人公開資料顯示,“程序員魚皮”98年出生,現在鵝廠,從事全棧應用開發,同時,也是騰訊雲開發高級佈道師。

工作之外,魚皮利用業餘時間做了很多入職大廠經驗、技術乾貨和資源分享,據他稱,在校期間就帶領工作室建設了幾十個校園網站。

被《羊了個羊》逼瘋后 鵝廠程序員怒而自製“必通關版”《魚了個魚》

最後,附上“魚了個魚”在線體驗鏈接,收穫通關喜悅(狗頭):

https://yulegeyu.cn

(0)
上一篇 2022-09-20 14:17
下一篇 2022-09-20 14:17

相关推荐