2048 Puzzle是當前很火的一款手機遊戲。在地鐵上經常會看到有人在玩這個遊戲。
首先,簡單地介紹一下2048 Puzzle遊戲。遊戲的界面是一個4X4方格,每一個方格中可以放置一個數字。有四種移動數字的方法,向左、向右、向上、向下。當向一個方向移動時,所有的數字都會向這個方向移動,直到前面到了邊界,或者有數字擋住。並且在移動方向,相連方格中相同的數字將會被合併。每次移動後,會隨機在空白方格中出現2或者4數字,也有可能不出現。
成功條件:合出數字2048。
失敗條件:所有方格中都有數字,並且無論採用哪一種方向移動,都無法合併數字(沒有相連格子中數字是一樣的)。也就是四個方向都給堵死。
攻略是按照規則說明保持下面四個規則,並且避免出現接下來會提到的兩個異常形。
規則1)在左上角方格中總是放置最大的數字,並且在第一列中上面方格中的數字總是不比下面的數字小。(這個規則是必須要遵守的,另外注意這是鏡像對稱了,爲了表述方便,我就直接以左上角爲例了,下面的規則描述是同樣)
規則2)第一列中的所有方格都有數字。(這個規則可能不能總是保持。在遊戲過程中,有可能會被破壞,但要儘快恢復這個規則)
如形1和形2。其中形1是滿足規則1和規則2,而形2只滿足規則1。
形 1
512 |
32 |
||
256 |
16 |
||
128 |
8 |
||
68 |
2 |
形 2
512 |
32 |
||
256 |
16 |
||
128 |
8 |
||
2 |
保持規則1和2的方法是在遊戲中總是保持只向左,向上和向下移動,而不向右移動。
規則3)儘量控制第二列的數字的大小。理想情況是第二列的所有數字都比第一列的小;最壞情況是第二列的數字出現比第一列第二排數字大的數字。(這個不是必須,但是如果儘量保持這個規則,可以有利於第一列數字的增長)
如形3,在第二列出現了256和64。將會阻礙第一列數字的增長。
形 3
512 |
32 |
||
32 |
64 |
||
16 |
8 |
||
8 |
256 |
2 |
保持規則3的方法是優先向第一列第四行方格中合併數字,並且如果第二列中數字有機會合併到第一列,則進行合併(注意要保持規則1)。這個只是一個指導方案,遊戲中會出現很多情況,有可能有更好的選擇,還需要隨機應變。
如形4,先將第二列第四行數字合併到第一列第四行。
形 4
512 |
2 |
||
32 |
16 |
||
16 |
8 |
||
2 |
2 |
2 |
如形5,將第二列第三行數字合併第一列第三行數字。
形 5
512 |
2 |
||
32 |
2 |
||
16 |
16 |
||
2 |
8 |
2 |
規則4)在第四列不要出現大於等於16數字,在第三列不要出現大於等於32的數字。(這個規則不是必須,但是可以有效防止被堵死)。
如形6,違反了規則4,我們只能合併左下角的兩個2了。
形 6
512 |
4 |
32 | 2 |
64 |
2 |
16 | 8 |
32 |
16 |
64 | 16 |
2 |
8 |
2 |
2 |
兩種異常形,一個我稱爲運行形,另一個稱爲無奈形。
1)運氣形
除了向下以外,其它的方向都給堵死了。並且在左邊只有三個方格有數字(不滿足規則2)。如形7。
形 7
512 |
4 |
8 |
2 |
32 |
2 |
||
16 |
|||
如果運氣好,出現的2或者4數字不在左上角,則可以恢復規則1和2(這個也是我稱它爲運行形的原因)。如形8,是向下移動後運氣不好,2出現在左上角,無法恢復規則1。
形 8
2 |
|||
512 |
|||
32 |
4 |
||
16 |
2 |
8 |
2 |
2)無奈型
除了向右以外,其它的方法都給堵死了。
一旦向右移動,如果出現數字2或者4,必然在左邊出現。那麼再想通過向左移動恢復規則1是很難的(只有一種很小概率會恢復,但我們無法指望這個發生,所有我稱它爲無奈形)。如形9,就是這種形,向左移動後變成形10,之後就無法保持規則1。
形 9
1024 |
8 |
||
512 |
64 |
||
32 |
4 |
||
16 |
8 |
形 10
1024 |
8 |
||
2 |
512 |
64 |
|
32 |
4 |
||
16 |
8 |
在我們遊戲中要儘量避免出現這兩種形,尤其是無奈形,一旦發生就很難恢復規則1。我想到的一個避免方式是感覺要出現這兩種形,可以上下移動數次,多出現幾個2和4數字,來避免出現這這兩種異常形。
爲什麼要滿足規則1和規則2
分析這個遊戲,可以發現出現的數字都是2的n次冪。每次數字增長是冪次加1。如形11,左邊一排有上到下依次是2a,2b,2c,2d。滿足規則1說明,a>=b>=c>=d。
形 11
2a |
|||
2b |
|||
2c |
|||
2d |
由於每次數字的增長是冪次加1,所以每一個數字增長會經過方格中比它大的任何數字。所以如果我們保持規則1,就有機會在左邊一排依次由下向上合併數字。
如果我們沒有能保持規則1,那麼就會增加遊戲的難度,甚至最終導致四個方向都給堵死。如形12,不滿足規則1 ,第一列第二行中的數字u是最大的數字512,第一列第一行中數字v是2,第一列第三行中數字w是256。如果數字u總是最大的數字。那麼數字u和v不管以後如何變化,是很難合併在一起。就是巧合地合併在一起,但又會出現另外的兩個數字被u給分隔。
形 12
2 |
8 |
||
512 |
16 |
||
256 |
|||
32 |
2 |
有一個很特別的形在這討論一下,如形13,兩個512被1024給分隔開。如果沒有新的數字2或者4出現,這個兩個數字512是無法合併在一起。就算有2和4出現,也很難很巧合地合併在一起。雖然兩個512很難合併成1024, 但是形5還是有可能成功的,因爲遊戲還會不停在移動過程中出現數字2或者4,所以可以合出第三個512和之前的512合併,並最終和1024合併成2048。
形 13
512 |
|||
1024 |
|||
512 |
|||
另外保持規則1將有利於規則4的保持。保持規則2可以在上下移動時,第一列不發生變化。
最後要說明的是在遊戲過程中如果違反了規則1,不代表就不能成功,只是會比較難。如果大家有更好的方法,可以一起交流。