網(wǎng)站開發(fā)工作室中國站長之家官網(wǎng)
前言
? ? ? ? 受《Python樹莓派編程從零開始》里的示例啟發(fā),我決定將上篇的2048游戲進行“面向?qū)ο蠡备脑臁?/p>
? ? ? ? 這次除了要建立一些對象,還要能有移動效果,并能顯示中文。
? ? ? ? 另外我還發(fā)現(xiàn)一個bug:方塊放滿了不代表輸了,還要檢查能不能合并,不能合并才輸。
改造過程
? ? ? ? 顯示中文比較簡單,只要實例化font對象時傳入字體文件的路徑參數(shù),就是游戲運行后要等會才出現(xiàn)窗口,應(yīng)該是載入中文字體費了時間。? ? ? ??
? ? ? ? 對象化時我建立三個類:
- 板(board),是游戲的基礎(chǔ)類,?是單例模式;
- 槽(groove),是板上的空位,固定不動,有自己坐標(biāo)。比如4*4尺寸是16個槽;
- 方塊(tile),放在槽上,可以移動,合并;
? ? ? ? 一開始還能按部就班。從建立啟動界面、繪制板、槽到放置方塊都可以做到和以前一樣。但等要移動方塊時我發(fā)現(xiàn)力不從心了,不但越搞越復(fù)雜還達不到想要的效果。經(jīng)過權(quán)衡,我決定放棄。
復(fù)盤
? ? ? ??這次改造過程讓我知道自己水平有多菜,僅看了個入門示例是遠遠不夠的。要深入,除了看技術(shù)文檔,還要看高手的代碼。鑒于開發(fā)游戲不是我的發(fā)展方向,對于pygame模塊只能淺嘗輒止。
? ? ? ? 以后在gui方向我會在guizero和PySimpleGui中選一個,可以用來作單片機的上位機軟件。
參考文章
使用pygame做游戲(1):初接觸以及改進2048游戲代碼-CSDN博客
PyGame 文字顯示問題及解決方法_pygame無法顯示中文-CSDN博客