日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > > 程序員魚皮
[導(dǎo)讀]前幾天朋友圈突然被一個(gè)小游戲 “羊了個(gè)羊” 刷屏了,出于好奇我也打算小玩一把試試,結(jié)果沒(méi)想到上頭了。。。游戲的玩法非常簡(jiǎn)單,類似 “消消樂(lè)”,從一堆方塊中找到相同圖案的 3 個(gè)方塊并消除即可。

大家好,我是魚皮。

前幾天朋友圈突然被一個(gè)小游戲 “羊了個(gè)羊” 刷屏了,出于好奇我也打算小玩一把試試,結(jié)果沒(méi)想到上頭了。。。

游戲的玩法非常簡(jiǎn)單,類似 “消消樂(lè)”,從一堆方塊中找到相同圖案的 3 個(gè)方塊并消除即可。

但沒(méi)想到,就是這個(gè)操作無(wú)比簡(jiǎn)單的小游戲,難住了大家,很多同學(xué)無(wú)論如何都過(guò)不了第二關(guān)?。ó?dāng)然,也包括我 ????)

不過(guò)作為一名程序員,我玩了幾次就發(fā)現(xiàn)不對(duì)勁了。。。

方塊的生成是完全隨機(jī)的,而且越玩到后面的層數(shù)方塊的范圍就越小、可選的方塊就越少。在這兩個(gè)條件下,這個(gè)游戲真的有沒(méi)有解很難說(shuō),真就變成了一個(gè)運(yùn)氣游戲(據(jù)說(shuō)通關(guān)率不足 0.1 %)。

不過(guò)作者很良心,給了大家逆天改命的機(jī)會(huì),看廣告可以使用道具和復(fù)活。

唉,不過(guò)明知道通關(guān)的概率微乎其微,我還是沒(méi)忍住,又玩了幾十把,因?yàn)榭傆X(jué)得自己可能是那個(gè) “天之驕子”。這個(gè)游戲之所以能爆火,除了營(yíng)銷套路之外,最主要的還是拿捏了用戶的心理吧。

但是,玩游戲的過(guò)程中,我也沒(méi)閑著,我在思考這個(gè)游戲是怎么開(kāi)發(fā)出來(lái)的、可能用了什么算法之類的。

當(dāng)我被游戲虐的心累了之后,我決定自己做一個(gè)能通關(guān)的 “羊了個(gè)羊”,就叫它 “魚了個(gè)魚” 吧!

熬夜肝了幾個(gè)小時(shí),游戲的雛形就做出來(lái)了,這兩天又打磨了一下,才正式上線,并且把所有代碼完全開(kāi)源了!

進(jìn)入主頁(yè),可以選擇多種不同的難度:

還可以自定義難度,比如設(shè)置槽位的數(shù)量,設(shè)置每層的塊數(shù)等等:

玩法和羊了個(gè)羊類似,不過(guò)這里我加了 4 種道具,每種道具都可以無(wú)限使用(不用看廣告哈哈):

因?yàn)闀r(shí)間有限,一人全役,做的不是很精致,但是完全足夠滿足一下通關(guān)的欲望了哈哈。

最后再簡(jiǎn)單說(shuō)一下這個(gè)游戲的實(shí)現(xiàn)原理吧,主要有 4 個(gè)點(diǎn):

  1. 游戲全局參數(shù):做游戲的同學(xué)都知道,游戲中會(huì)涉及很多參數(shù),比如槽位數(shù)量、層數(shù)等等。我們要將這些參數(shù)抽取成統(tǒng)一的全局變量,供其他變量使用。從而做到修改一處,游戲自動(dòng)適配。還可以提供頁(yè)面來(lái)讓用戶自定義這些參數(shù),提高游戲的可玩性。
  2. 網(wǎng)格:為了讓塊的分布相對(duì)規(guī)整、并且為計(jì)算坐標(biāo)提供方便,我將整個(gè)游戲畫布分為 24 x 24 的虛擬網(wǎng)格,類似一個(gè)棋盤。一個(gè)塊占用 3 x 3 的格子。
  3. 隨機(jī)生成塊:包括隨機(jī)生成方塊的圖案和坐標(biāo)。首先我根據(jù)全局參數(shù)計(jì)算出了總塊數(shù),然后用 shuffle 函數(shù)打亂存儲(chǔ)所有動(dòng)物圖案的數(shù)組,再依次將數(shù)組中的圖案填充到方塊中。生成坐標(biāo)的原理是隨機(jī)選取坐標(biāo)范圍內(nèi)的點(diǎn),坐標(biāo)范圍可以隨著層級(jí)的增加而遞減,即生成的圖案越來(lái)越擠,達(dá)到難度逐層加大的效果。
  4. 塊的覆蓋關(guān)系:怎么做到點(diǎn)擊上層的塊后,才能點(diǎn)下層的塊呢?首先要給每個(gè)塊指定一個(gè)層級(jí)屬性。然后有兩種思路,第 1 種是先逐層生成,然后每個(gè)格子里層級(jí)最高的塊依次判斷其周圍格子有沒(méi)有塊層級(jí)大于它;第 2 種是在隨機(jī)生成塊的時(shí)候就給相互重疊的塊綁定層級(jí)關(guān)系(即誰(shuí)覆蓋了我?我覆蓋了誰(shuí)?)。這里我選擇了第 2 種方法,感覺(jué)效率會(huì)高一些。

當(dāng)然,以上只是我的實(shí)現(xiàn)方式,未必是最好的,但是完全能夠滿足游戲的功能訴求了。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉