消滅星星是一款不錯(cuò)的游戲,但是想知道它是用什么原理的算法寫出來的嗎,現(xiàn)在可是有大神給做出來了,那么小編就來做一次搬運(yùn)工分享給大家吧!
消滅星星算法實(shí)現(xiàn)思路
這個(gè)游戲的關(guān)鍵算法是選取同色區(qū)域。
我的方法是每個(gè)方塊是一個(gè)對(duì)象,包含幾項(xiàng)屬性:自身所在的行,自身所在的列,自身的顏色。
還加了一個(gè)id作備用,暫時(shí)沒用到。
基本思路是遞歸,顯而易見。
首先準(zhǔn)備兩個(gè)列表。
一個(gè)用來裝被檢查過了的方塊,因?yàn)樽筮叿綁K的右邊就等于右邊方塊的左邊,如果不檢查的話就無限遞歸到溢出了。
另一個(gè)用來裝與傳入方塊顏色相同的方塊,留待遞歸完成后作為返回值。
然后傳入第一個(gè)方塊,分別檢查它四個(gè)方向上的方塊,如果顏色和第一個(gè)方塊相同的話就把它塞入同色列表里,然后用它來進(jìn)行下一次遞歸。
注意事項(xiàng)
其實(shí)這次成品不重要了,這次主要是給大家參考算法吧.不會(huì)用易語言源碼也沒關(guān)系,壓縮包里面有打包成品軟件的!
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版