1. 程式人生 > >[原始碼和文件分享]基於Python的PyGame庫實現的2048小遊戲

[原始碼和文件分享]基於Python的PyGame庫實現的2048小遊戲

一、簡介

2048的遊戲規則很簡單,每次可以選擇上下左右其中一個方向去滑動,每滑動一次,所有的數字方塊都會往滑動的方向靠攏外,系統也會在空白的地方亂數出現一個數字方塊,相同數字的方塊在靠攏、相撞時會相加。系統給予的數字方塊不是2就是4,玩家要想辦法在這小小的16格範圍中湊出“2048”這個數字方塊。

遊戲的畫面很簡單,一開始整體16個方格大部分都是灰色的,當玩家拼圖出現數字之後就會改變顏色,整體格調很是簡單。在玩法規則也非常的簡單,一開始方格內會出現2或者4等這兩個小數字,玩家只需要上下左右其中一個方向來移動出現的數字,所有的數字就會向滑動的方向靠攏,而滑出的空白方塊就會隨機出現一個數字,相同的數字相撞時會疊加靠攏,然後一直這樣,不斷的疊加最終拼湊出2048這個數字就算成功。

二、主要設計

2048遊戲的主要演算法就是實現數字的移動和相加,我一開始是想的一個數字有四個相鄰的位置,上下左右用列表儲存,然後遍歷判斷,但是真正寫的時候發現有很多重複的情況存在,而且位置的儲存沒有辦法確定。

所以最後寫了一個只實現相加的函式,然後再分別從四個方向去呼叫它。具體的就是用一個列表,判斷它的長度也就是儲存連續的相鄰的數字個數,然後判斷是否有相鄰的元素相等,如果有的話相加,單一的單一儲存,累計分數也是在這個函式裡實現的。


參考文件和完整的文件和原始碼下載地址:

https://www.write-bug.com/article/95.html