前言
本期我們將制作一個24點小游戲,讓我們愉快地開始吧~
效果展示

開發工具
Python版本: 3.6.4
相關模塊:
pygame模塊;
以及一些Python自帶的模塊,
環境搭建
安裝Python并添加到環境變數,pip安裝需要的相關模塊即可,
原理簡介
游戲規則(改編自維基百科):
從1~10這十個數字中隨機抽取4個數字(可重復),對這四個數運用加、減、乘、除和括號進行運算得出24,每個數字都必須使用一次,但不能重復使用,詳見:
https://zh.wikipedia.org/wiki/24%E7%82%B9
逐步實作:
Step1****:制作24點生成器
既然是24點小游戲,當然要先定義一個24點游戲生成器啦,主要思路就是隨機生成4個有解的數字,且范圍在1~10之間,代碼實作如下:

在驗證4個數字是否有解并求出所有解部分,我直接暴力列舉然后去重了,感興趣的同學可以自己再優化一下求解演算法(有數字重復的時候),我的代碼如下圖所示,其實就是遞回列舉所有排序然后一一驗證是否有解:

Step2****:定義游戲精靈類因為玩家需要通過滑鼠點擊來操作卡片,這時候就涉及到一些碰撞檢測,所以先定義一些必要的游戲精靈類,
①卡片類
卡片類的定義也很簡單,在螢屏上根據被賦予的屬性值來顯示自身即可,當然之后也需要根據用戶的操作來改變這些屬性值(內容、顏色、字體等)并在螢屏上根據屬性的改變而改變顯示狀態即可,具體而言代碼實作如下:

②按鈕類
按鈕類和卡片類類似,唯一的不同點就是在用戶點擊按鈕時需要根據該按鈕的功能來回應用戶的本次點擊操作(即實作一次該功能),因此只需要繼承卡片類,然后再定義一個回應用戶點擊按鈕事件的回呼函式即可,代碼實作如下:

Step3****:實作游戲主回圈先構思一下怎么設計游戲主界面,個人的簡單設計草圖如下(不是特別走心的設計草圖T_T):
OK,開搞,先初始化、加載必要的素材和定義必要的變數,代碼實作如下:

游戲主回圈主要分三個部分,首先是按鍵檢測:

根據檢測結果更新卡片狀態和一些變數:

當有兩個數字和一個運算子被點擊時,則執行被點擊數字1{+/-/×/÷}被點擊數字2操作(數字1、2根據點擊順序確定),并進一步更新卡片屬性和一些必要的變數:

最后根據各個卡片的屬性在螢屏上顯示各個卡片,若游戲勝利/游戲失敗,則同時顯示游戲勝利/游戲失敗提示框:

文章到這里就結束了,感謝你的觀看,Python24個小游戲系列,下篇文章分享乒乓球小游戲
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/379372.html
標籤:其他
下一篇:工廠模式——貓糧公司的演進
