趣學Python游戲編程(第2版)

何青

  • 出版商: 清華大學
  • 出版日期: 2024-04-01
  • 售價: $414
  • 貴賓價: 9.5$393
  • 語言: 簡體中文
  • ISBN: 7302657300
  • ISBN-13: 9787302657309
  • 立即出貨 (庫存 < 3)

  • 趣學Python游戲編程(第2版)-preview-1
  • 趣學Python游戲編程(第2版)-preview-2
  • 趣學Python游戲編程(第2版)-preview-3
趣學Python游戲編程(第2版)-preview-1

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

相關主題

商品描述

"本書是筆者多年從事高校教學經驗的結晶之作。全書深入淺出地講解了使用Python語言進行游戲開發以及幫助讀者快速掌握游戲設計的基本原理和方法,同時提高應用Python語言編程的能力。 全書精選11個游戲案例,涵蓋不同的游戲類型,每章圍繞一個經典游戲案例展開,並突出一個游戲編程的主題。本書涉及的主要知識點包括游戲循環的原理、鼠標及鍵盤事件的處理、碰撞檢測及處理、隨機數的運用、定時器的使用、游戲場景的滾動、角色動畫的播放、音效及音樂的播放、緩動效果、游戲關卡設計、游戲人工智能的原理及運用等。本書將Python語法知識及常用的編程技巧糅合在各個游戲案例中進行介紹,為讀者展示Python語言的實際運用場景。 本書內容安排合理,架構清晰,註重理論與實踐相結合,適合作為Python開發零基礎讀者的教程,也可作為高等院校的輔導教材,還可供職業技術學校和各類游戲培訓機構使用。 "

目錄大綱

目  錄

第1章 神奇的游戲循環:彈跳小球 1

1.1  準備工作 1

1.1.1 選擇合適的開發工具 1

1.1.2 設置開發環境 2

1.2 從何處開始 3

1.2.1 創建程序窗口 3

1.2.2 改變窗口大小和顏色 5

1.2.3 顯示圖像 7

1.3  建立游戲世界 9

1.3.1 創建游戲場景 9

1.3.2 創建游戲角色 10

1.4 移動小球 11

1.4.1 改變小球坐標 11

1.4.2 游戲循環 11

1.4.3 朝其他方向移動 13

1.4.4 移動得快一些 14

1.5 實現小球反彈 14

1.5.1 檢測小球的位置 15

1.5.2 將小球反彈回來 15

1.6 加入更多的小球 18

1.6.1 添加兩個小球 18

1.6.2 使用列表 19

1.7 回顧與總結 21

第2章 用鼠標控制游戲:拼圖 24

2.1 添加圖片塊 24

2.1.1 準備圖片資源 24

2.1.2 創建游戲場景 25

2.1.3 用列表管理圖片塊 26

2.2 打亂圖片塊 27

2.2.1 使用隨機函數 27

2.2.2 將圖片塊顯示出來 28

2.3 移動圖片塊 30

2.3.1 處理鼠標單擊事件 30

2.3.2 選取圖片塊 31

2.3.3 判斷圖片塊能否移動 31

2.3.4 採用模塊化編程方法 32

2.3.5 改變圖片塊的位置 33

2.3.6 減少程序的縮進層級 33

2.4 實現游戲結束 34

2.4.1 檢查拼圖是否完成 35

2.4.2 顯示最後一個圖片塊 36

2.4.3 播放聲音效果 37

2.4.4 顯示文字信息 38

2.5 回顧與總結 39

第3章 遞歸函數的威力:掃雷 42

3.1 創建方塊陣列 42

3.1.1 準備圖片資源 42

3.1.2 創建游戲場景 43

3.1.3 生成方塊陣列 43

3.1.4 埋設地雷 45

3.2 給方塊插上旗子 46

3.2.1 使用鼠標右鍵來操作 46

3.2.2 定義函數執行插旗操作 47

3.3 打開方塊 49

3.3.1 完善鼠標事件處理 49

3.3.2 獲取周圍的方塊 50

3.3.3 統計地雷數量 52

3.3.4 遞歸調用打開方塊函數 52

3.4 判定游戲勝負 54

3.4.1 游戲失敗的處理 54

3.4.2 游戲勝利的處理 55

3.5 回顧與總結 57

第4章 用鍵盤控制游戲:貪食蛇 60

4.1 創建場景和角色 60

4.1.1 創建游戲場景 60

4.1.2 創建貪食蛇 61

4.2 移動蛇頭 62

4.2.1 處理鍵盤按鍵事件 62

4.2.2 讓蛇頭持續移動 63

4.2.3 另一種鍵盤控制方式 64

4.2.4 延緩貪食蛇的移動 65

4.2.5 旋轉蛇頭圖像 66

4.2.6 使用字典類型 68

4.3 添加食物 69

4.3.1 讓食物隨機出現 69

4.3.2 讓貪食蛇“吃”食物 70

4.3.3 增長貪食蛇的身體 71

4.4 實現游戲結束 74

4.4.1 判斷貪食蛇碰到窗口邊界 74

4.4.2 判斷蛇頭碰到自己身體 74

4.5 回顧與總結 76

第5章 隨機數的妙用:打字 79

5.1 創建一個字母氣球 79

5.1.1 創建游戲場景 79

5.1.2 創建氣球角色 80

5.2 添加多個氣球 81

5.2.1 創建多個氣球角色 81

5.2.2 隨機生成氣球的坐標 83

5.2.3 隨機生成氣球的速度 84

5.2.4 隨機生成氣球的字母 86

5.3 實現打字功能 88

5.3.1 匹配字母的按鍵 89

5.3.2 消除氣球 89

5.3.3 修補游戲的Bug 92

5.4 完善游戲規則 94

5.4.1 添加游戲積分 94

5.4.2 實現游戲倒計時 95

5.4.3 判定游戲結束 97

5.5 回顧與總結 98

第6章 碰撞檢測及處理:打磚塊 103

6.1 創建場景及角色 103

6.1.1 創建游戲場景 103

6.1.2 創建游戲角色 104

6.2 讓角色動起來 106

6.2.1 移動擋板 106

6.2.2 移動小球 107

6.3 處理角色間的碰撞 110

6.3.1 碰撞檢測的原理 110

6.3.2 小球與擋板的碰撞 112

6.3.3 小球與磚塊的碰撞 114

6.4 完善游戲規則 116

6.4.1 設置游戲積分 117

6.4.2 添加生命值 117

6.4.3 實現游戲結束 118

6.5 回顧與總結 120

第7章 讓游戲更加生動:Flappy

    Bird 124

7.1  創建游戲場景 124

7.1.1 設置背景圖像 124

7.1.2 滾動背景圖像 126

7.2 添加障礙物 128

7.2.1 設置地面 128

7.2.2 設置水管 129

7.3 添加小鳥 131

7.3.1 創建小鳥角色 131

7.3.2 模擬重力下的飛行 132

7.3.3 播放飛行動畫 134

7.4 小鳥與障礙物的交互 135

7.4.1 小鳥與地面碰撞 135

7.4.2 小鳥與水管碰撞 136

7.4.3 小鳥飛越水管 137

7.5 設計圖形用戶界面 139

7.5.1 顯示GUI圖像 139

7.5.2 單擊“開始”按鈕 141

7.5.3 播放背景音樂 141

7.6 回顧與總結 142

第8章 實現復雜的移動:

    飛機大戰 146

8.1 創建游戲場景 146

8.1.1 設置背景圖像 146

8.1.2 滾動背景圖像 148

8.2 添加英雄戰機 148

8.2.1 控制戰機移動 148

8.2.2 播放戰機動畫 149

8.3 添加子彈 151

8.3.1 實現子彈射擊 151

8.3.2 設置增強道具 152

8.3.3 使用三角函數計算坐標 154

8.4 添加敵機 157

8.4.1 設置緩動效果 157

8.4.2 敵機與子彈的交互 160

8.4.3 敵機與戰機的交互 161

8.5 完善游戲效果 165

8.5.1 設置HUD 165

8.5.2 播放背景音樂 166

8.6 回顧與總結 167

第9章 添加多個游戲關卡:

    推箱子 173

9.1 創建場景和角色 173

9.1.1 設置游戲關卡 173

9.1.2 加載游戲關卡 175

9.2 實現角色的交互 177

9.2.1 控制玩家角色的移動 177

9.2.2 處理玩家角色的碰撞 178

9.2.3 處理箱子角色的碰撞 180

9.3 添加新的關卡 181

9.3.1 從文件載入關卡 181

9.3.2 切換關卡 184

9.4 完善游戲功能 186

9.4.1 重置關卡 186

9.4.2 判定游戲結束 187

9.5 回顧與總結 188

第10章 人工智能的奧秘:

     五子棋 193

10.1 創建棋盤和棋子 193

10.1.1 繪制棋盤 193

10.1.2 設置棋子 195

10.2 執行走棋操作 195

10.2.1 使用鼠標下棋 195

10.2.2 交換下棋雙方 197

10.3 完善游戲規則 199

10.3.1 判定棋局勝負 199

10.3.2 添加悔棋功能 202

10.4 實現人機對弈 203

10.4.1 游戲中的人工智能 203

10.4.2 讓電腦學會下棋 204

10.5 回顧與總結 209

第11章 雙人游戲的樂趣:

     炸彈人 215

11.1 創建游戲場景 215

11.1.1 定義自己的類  215

11.1.2 繪制場景 216

11.2 創建玩家角色 217

11.2.1 定義玩家類 217

11.2.2 實現角色移動 219

11.3 添加炸彈 221

11.3.1 定義炸彈類和火焰類 221

11.3.2 讓玩家放置炸彈 222

11.4 設置道具功能 224

11.4.1 定義道具類 224

11.4.2 隨機生成道具 226

11.5 加入另一個玩家 228

11.6 回顧與總結 230

附錄A 配置開發環境 236

A.1 安裝Python 236

A.1.1 下載Python安裝包 236

A.1.2 安裝程序 237

A.2 安裝Mu編輯器 238

A.2.1 下載Mu編輯器的安裝包 238

A.2.2 安裝程序 239

附錄B Python基礎語法參考 241

B.1 程序基本元素 241

B.1.1 常量與變量 241

B.1.2 語句 241

B.1.3 縮進 242

B.1.4 註釋 242

B.2 簡單數據類型 243

B.2.1 數值型 243

B.2.2 布爾型 243

B.2.3 字符串 243

B.3 運算符與表達式 244

B.3.1 算術運算符 244

B.3.2 賦值運算符 244

B.3.3 關系運算符 245

B.3.4 邏輯運算符 245

B.4 程序流程控制 245

B.4.1 順序語句 245

B.4.2 條件語句 246

B.4.3 循環語句 247

B.5 函數 248

B.5.1 函數的定義與使用 248

B.5.2 參數與返回值 249

B.5.3 導入模塊 250

B.6 類和對象 251

B.6.1 類的定義 251

B.6.2 創建對象 252

B.6.3 構造方法 253

B.7 組合數據類型 253

B.7.1 列表 254

B.7.2 元組 256

B.7.3 字典 257

B.7.4 集合 258