[原始碼和文件分享]基於Python的PyGame庫實現的2048小遊戲
阿新 • • 發佈:2018-12-19
一、簡介
2048的遊戲規則很簡單,每次可以選擇上下左右其中一個方向去滑動,每滑動一次,所有的數字方塊都會往滑動的方向靠攏外,系統也會在空白的地方亂數出現一個數字方塊,相同數字的方塊在靠攏、相撞時會相加。系統給予的數字方塊不是2就是4,玩家要想辦法在這小小的16格範圍中湊出“2048”這個數字方塊。
遊戲的畫面很簡單,一開始整體16個方格大部分都是灰色的,當玩家拼圖出現數字之後就會改變顏色,整體格調很是簡單。在玩法規則也非常的簡單,一開始方格內會出現2或者4等這兩個小數字,玩家只需要上下左右其中一個方向來移動出現的數字,所有的數字就會向滑動的方向靠攏,而滑出的空白方塊就會隨機出現一個數字,相同的數字相撞時會疊加靠攏,然後一直這樣,不斷的疊加最終拼湊出2048這個數字就算成功。
二、主要設計
2048遊戲的主要演算法就是實現數字的移動和相加,我一開始是想的一個數字有四個相鄰的位置,上下左右用列表儲存,然後遍歷判斷,但是真正寫的時候發現有很多重複的情況存在,而且位置的儲存沒有辦法確定。
所以最後寫了一個只實現相加的函式,然後再分別從四個方向去呼叫它。具體的就是用一個列表,判斷它的長度也就是儲存連續的相鄰的數字個數,然後判斷是否有相鄰的元素相等,如果有的話相加,單一的單一儲存,累計分數也是在這個函式裡實現的。
參考文件和完整的文件和原始碼下載地址: