python实训报告pygame_[源码和文档分享]基于Python的PyGame库实现的2048小游戏
一、簡介
2048的游戲規(guī)則很簡單,每次可以選擇上下左右其中一個方向去滑動,每滑動一次,所有的數(shù)字方塊都會往滑動的方向靠攏外,系統(tǒng)也會在空白的地方亂數(shù)出現(xiàn)一個數(shù)字方塊,相同數(shù)字的方塊在靠攏、相撞時會相加。系統(tǒng)給予的數(shù)字方塊不是2就是4,玩家要想辦法在這小小的16格范圍中湊出“2048”這個數(shù)字方塊。
游戲的畫面很簡單,一開始整體16個方格大部分都是灰色的,當(dāng)玩家拼圖出現(xiàn)數(shù)字之后就會改變顏色,整體格調(diào)很是簡單。在玩法規(guī)則也非常的簡單,一開始方格內(nèi)會出現(xiàn)2或者4等這兩個小數(shù)字,玩家只需要上下左右其中一個方向來移動出現(xiàn)的數(shù)字,所有的數(shù)字就會向滑動的方向靠攏,而滑出的空白方塊就會隨機出現(xiàn)一個數(shù)字,相同的數(shù)字相撞時會疊加靠攏,然后一直這樣,不斷的疊加最終拼湊出2048這個數(shù)字就算成功。
?
二、主要設(shè)計
2048游戲的主要算法就是實現(xiàn)數(shù)字的移動和相加,我一開始是想的一個數(shù)字有四個相鄰的位置,上下左右用列表存儲,然后遍歷判斷,但是真正寫的時候發(fā)現(xiàn)有很多重復(fù)的情況存在,而且位置的存儲沒有辦法確定。
所以最后寫了一個只實現(xiàn)相加的函數(shù),然后再分別從四個方向去調(diào)用它。具體的就是用一個列表,判斷它的長度也就是存儲連續(xù)的相鄰的數(shù)字個數(shù),然后判斷是否有相鄰的元素相等,如果有的話相加,單一的單一存儲,累計分數(shù)也是在這個函數(shù)里實現(xiàn)的。
參考文檔和完整的文檔和源碼下載地址:
總結(jié)
以上是生活随笔為你收集整理的python实训报告pygame_[源码和文档分享]基于Python的PyGame库实现的2048小游戏的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python获取url参数 类继承_py
- 下一篇: python创建一个有序链表_算法2-2