Python 游戲編程項目開發實戰

李志遠

  • Python 游戲編程項目開發實戰-preview-1
  • Python 游戲編程項目開發實戰-preview-2
  • Python 游戲編程項目開發實戰-preview-3
Python 游戲編程項目開發實戰-preview-1

買這商品的人也買了...

商品描述

Python是一種面向對象的開源高級程序語言,其語法簡單、程序易讀,擴展性高,代碼可跨平臺運行的特點使其已經成為廣受歡迎的游戲編程語言。 本書通過精心設計的游戲案例幫助讀者掌握Python游戲編程。書內提到的每個游戲案例都提供源代碼和視頻講解,相信讀者通過線下閱讀和線上視頻學習相結合的方式可掌握游戲編程的原理,從而可以舉一反三,設計出卓越的游戲。 全書共分基礎篇和提高篇兩大部分,基礎篇通過3個控制台游戲的編寫介紹了Python數據類型、模塊使用、文件操作等游戲編程涉及的基礎知識領域;提高篇通過4個圖形界面游戲設計的綜合案例,介紹了Pygame模塊使用、動畫製作、多線程網絡編程、棋類AI設計等進階知識,幫助讀者綜合運用所學知識,提高游戲編程能力。 本書適合對Python游戲編程感興趣的初學者,同時也可為熟悉Python游戲編程的讀者做參考所用。

目錄大綱

 

 

目錄

第1章Python概述

 

1.1Python語言簡介

 

1.2Python運行環境的建立

 

1.3IDE平臺選擇

 

1.4PyCharm的安裝和配置

 

1.4.1PyCharm下載和安裝

 

1.4.2PyCharm基本配置

 

1.4.3PyCharm個性化配置

 

1.5小結

 

第2章“石頭、剪刀、布”猜拳游戲

 

2.1“石頭、剪刀、布”猜拳游戲運行示例

 

2.2使用print()函數進行游戲提示

 

2.3使用input()函數得到用戶輸入

 

2.4使用模塊模擬電腦思考

 

2.4.1模塊的導入

 

2.4.2Random模塊的使用

 

2.5條件語句判斷勝負

 

2.5.1邏輯運算符和比較運算符

 

2.5.2條件表達式

 

2.6使用註釋幫助理解代碼

 

2.7while循環判斷游戲是否結束

 

2.8“石頭、剪刀、布”猜拳游戲代碼解析

 

2.9小結

 

第3章數獨游戲

 

3.1數獨游戲規則

 

3.2數獨游戲運行示例

 

3.3使用list存儲棋盤狀態

 

3.3.1list數據類型的定義和訪問

 

3.3.2數獨81個格子的list存儲

 

3.4使用for循環對棋盤格子內容賦值

 

3.4.1for循環的定義方法

 

3.4.2range()函數得到迭代對象的所有值

 

3.4.3for循環得到用戶棋盤

 

3.5使用函數提高代碼重復利用率

 

3.5.1函數內的局部變量

 

3.5.2函數內使用全局變量

 

3.6建立數獨謎題

 

3.6.1數獨棋盤交換不同數字的位置

 

3.6.2數獨棋盤行列交換

 

3.6.3挖洞建立數獨謎題

 

3.6.4數獨謎題的具體實現

 

3.7深度優先解答數獨謎題

 

3.8數獨游戲代碼解析

 

3.9小結

 

第4章“24點”游戲

 

4.1“24點”游戲規則

 

4.2“24點”游戲運行示例

 

4.3電腦給出“24點”游戲題目

 

4.3.1遞歸得到4個數字全排列

 

4.3.2數字表達式求值

 

4.4玩家輸入的表達式求解

 

4.4.1中綴表達式和後綴表達式

 

4.4.2中綴表達式轉後綴表達式

 

4.4.3後綴表達式求解

 

4.5玩家成績排名

 

4.5.1JSON數據存儲成績排名

 

4.5.2dict類型存儲JSON

 

4.5.3讀取與更新rank.txt排名文件

 

4.6“24點”游戲代碼主函數

 

4.7小結

 

第5章“小貓頂球”游戲

 

5.1“小貓頂球”游戲運行示例

 

5.2Pygame模塊簡介

 

5.3“小貓頂球”游戲環境搭建

 

5.4圖形界面初始化

 

5.4.1無交互的圖形界面創建

 

5.4.2畫布相關屬性

 

5.5認識小貓等Surface對象

 

5.6顯示小貓等Surface對象

 

5.6.1創建Rect對象

 

5.6.2Rect對象位置屬性

 

5.6.3Rect對象進行移動

 

5.7鍵盤和鼠標事件響應

 

5.8小貓和球類碰撞檢測

 

5.8.1類與類的繼承

 

5.8.2小貓和球類

 

5.8.3使用碰撞函數進行碰撞檢測

 

5.9信息顯示和音效播放

 

5.9.1字體顯示

 

5.9.2字體顯示函數

 

5.9.3音效播放

 

5.10“小貓頂球”游戲主程序完善

 

5.11小結

 

第6章“一起來玩漢諾塔”游戲

 

6.1“一起來玩漢諾塔”游戲運行示例

 

6.2“一起來玩漢諾塔”游戲規則

 

6.3游戲主場景設計

 

6.3.1塔底座繪制

 

6.3.2塔繪制

 

6.3.3盤子繪制

 

6.3.4按鈕繪制

 

6.4彈窗設置盤子個數

 

6.5遞歸解決漢諾塔問題

 

6.6游戲主函數完成

 

6.7小結

 

第7章“網絡五子棋”游戲

 

7.1“網絡五子棋”游戲運行示例

 

7.2“網絡五子棋”游戲規則

 

7.3“網絡五子棋”主場景設計

 

7.3.1提示區域繪制

 

7.3.2棋盤區域繪制

 

7.3.3按鈕區域繪制

 

7.3.4倒計時數字顯示

 

7.4“網絡五子棋”游戲勝利判斷

 

7.5網絡對戰實現

 

7.5.1多線程任務建立

 

7.5.2線程間的數據同步傳輸

 

7.5.3服務器端建立

 

7.5.4客戶端建立

 

7.5.5服務器端和客戶端協議制定

 

7.6“網絡五子棋”游戲主程序完善

 

7.7小結

 

第8章“中國象棋”游戲(支持AI對戰)

 

8.1“中國象棋”游戲運行示例

 

8.2“中國象棋”游戲落子與獲勝判斷規則

 

8.3游戲初始場景設計

 

8.4游戲主場景設計

 

8.4.1初始狀態象棋棋盤與棋子顯示

 

8.4.2鼠標確定棋子點選

 

8.4.3棋子標識類創建

 

8.4.4其餘場景繪制

 

8.5棋子規則類創建

 

8.5.1棋子移動方法判斷

 

8.5.2棋子吃子方法判斷

 

8.5.3棋子吃子方法調用

 

8.5.4“中國象棋”游戲獲勝判斷

 

8.6已走棋的中文俗語表示

 

8.7AI走棋

 

8.7.1局面分

 

8.7.2AI得到黑棋的所有走法

 

8.7.3黑棋最有利局面

 

8.7.4AI最佳走法

 

8.8“中國象棋”游戲主程序完善

 

8.9小結

 

附錄APygame常用模塊