Python遊戲程式設計快速上手pdf
阿新 • • 發佈:2019-01-09
第1章 安裝Python 1
1.1 下載和安裝Python 1
1.2 啟動IDLE 2
1.3 如何使用本書 3
1.4 尋求線上幫助 4
第2章 互動式shell 6
2.1 一些簡單的數學知識 6
2.2 計算表示式 7
2.4 本章小結 12
第3章 編寫程式 13
3.1 字串 13
3.2 字串連線 14
3.3 在IDLE的檔案編輯器中編寫程式 14
3.4 Hello World! 15
3.5 儲存程式 16
3.6 開啟儲存過的程式 16
3.7 “Hello World”程式如何工作 18
3.8 變數名稱 20
3.9 本章小結 21
第4章 “猜數字”遊戲 22
4.1 “猜數字”遊戲的執行示例 22
4.2 “猜數字”遊戲的原始碼 23
4.3 import語句 24
4.4 random.randint()函式 25
4.5 迴圈 26
4.6 語句塊 26
4.7 布林資料型別 27
4.8 比較操作符 28
4.9 條件 28
4.10 =和==的區別 30
4.11 while迴圈語句 30
4.12 使用int()函式、float()函式、str()
函式和bool()函式來轉換值 31
4.14 if語句 33
4.15 用break語句提早離開迴圈 34
4.16 流程控制語句 36
4.17 本章小結 36
第5章 Jokes 38
5.1 用好print()函式 38
5.2 Jokes遊戲的執行示例 38
5.3 Jokes遊戲的原始碼 38
5.4 轉義字元 39
5.5引號和雙引號 40
5.6 print()的end關鍵字引數 41
5.7 本章小結 42
第6章 Dragon Realm 43
6.1 函式 43
6.2 如何玩“Dragon Realm” 43
6.3 Dragon Realm遊戲的執行示例 44
6.4 Dragon Realm的原始碼 44
6.5 def語句 46
6.6 布林操作符 47
6.7 返回值 51
6.8 全域性作用域和區域性作用域 51
6.9 形參(parameter) 53
6.10 設計遊戲 56
6.11 本章小結 57
第7章 使用偵錯程式 58
7.1 Bug! 58
7.2 偵錯程式 59
7.3 單步執行 61
7.4 查詢Bug 63
7.5 斷點 66
7.6 使用斷點的示例 67
7.7 本章小結 68
第8章 流程圖 69
8.1 如何玩Hangman 69
8.2 Hangman的執行示例 69
8.3 ASCII字元圖 71
8.4 用流程圖來設計一個程式 71
8.5 生成流程圖 73
8.6 本章小結 79
第9章 Hangman 81
9.1 Hangman的原始碼 81
9.2 多行字串 86
9.3 常量 86
9.4 列表 86
9.5 方法 91
9.6 字串方法lower()和upper() 91
9.7 列表方法reverse()和append() 92
9.8 列表方法split() 93
9.9 range()函式和list()函式 95
9.10 for迴圈 96
9.11 切片 98
9.12 elif (“Else If”)語句 101
9.13 本章小結 108
第10章 Hangman擴充套件 109
10.1 字典 110
10.2 random.choice()函式 113
10.3 多變數賦值 114
10.4 本章小結 116
第11章 Tic Tac Toe 117
11.1 Tic Tac Toe的執行示例 117
11.2 Tic Tac Toe的原始碼 118
11.3 設計程式 123
11.4 遊戲AI 124
11.5 引用 129
11.6 短路求值 137
11.7 None值 140
11.8 本章小結 146
第12章 Bagels 147
12.1 Bagels的執行示例 147
12.2 Bagels的原始碼 148
12.3 random.shuffle()函式 151
12.4 複合賦值操作符 153
12.5 列表方法sort() 154
12.6 字串方法join() 155
12.7 字串插值 157
12.8 本章小結 160
第13章 笛卡爾座標 161
13.1 網格和笛卡爾座標 161
13.2 負數 163
13.3 數學技巧 164
13.4 絕對值和abs()函式 166
13.5 計算機螢幕的座標系 167
13.6 本章小結 167
第14章 Sonar Treasure Hunt 168
14.1 Sonar Treasure Hunt的
執行示例 169
14.2 Sonar Treasure Hunt的原始碼 173
14.3 設計程式 179
14.4 找到最近的藏寶箱的演算法 185
14.5 列表方法remove() 187
14.6 本章小結 195
第15章 Caesar Cipher 196
15.1 密碼學 196
15.2 凱撒密碼 197
15.3 ASCII碼以及用數字表示字母 198
15.4 函式chr()和ord() 199
15.5 凱撒密碼的執行示例 200
15.6 Caesar Cipher的原始碼 201
15.7 程式碼如何工作 202
15.8 字串方法isalpha() 204
15.9 字串方法isupper()和
islower() 205
15.10 暴力破解 207
15.11 本章小結 209
第16章 Reversi 210
16.1 Reversi的執行示例 211
16.2 Reversi的原始碼 215
16.3 程式碼如何工作 223
16.4 bool()函式 231
16.5 本章小結 244
第17章 Reversi AI模擬 245
17.1 讓計算機和自己下棋 245
17.2 百分數 250
17.3 round()函式 251
17.4 AISim2.py的執行示例 252
17.5 比較不同的AI演算法 252
17.6 本章小結 259
第18章 圖形和動畫 260
18.1 安裝Pygame 260
18.2 Pygame中的Hello World 261
18.3 Hello World的原始碼 261
18.4 執行Hello World程式 263
18.5 元組 264
18.6 RGB顏色 265
18.7 字型和pygame.font.SysFont()
函式 266
18.8 屬性 267
18.9 建構函式 269
18.10 Pygame的繪製函式 269
18.11 事件和遊戲迴圈 272
18.12 動畫 273
18.13 Animation程式的原始碼 274
18.14 Animation程式如何工作 276
18.15 執行程式迴圈 279
18.16 本章小結 282
第19章 碰撞檢測與滑鼠/鍵盤的輸入 284
19.1 Collision Detection程式的
原始碼 284
19.2 Collision Detection演算法 288
19.3 當遍歷一個列表的時候,
不要修改該列表 292
19.4 鍵盤輸入程式的原始碼 293
19.5 colliderect()方法 300
19.6 本章小結 301
第20章 聲音和影象 302
20.1 聲音檔案和影象檔案 303
20.2 精靈和聲音程式 303
20.3 Sprites and Sounds程式的
原始碼 304
20.4 pygame.transform.scale()函式 308
20.5 本章小結 311
第21章 Dodger 312
21.1 回顧Pygame的基本資料型別 312
21.2 Dodger的原始碼 313
21.3 全屏模式 322
21.4 遊戲迴圈 325
21.5 事件處理 325
21.6 move_ip()方法 328
21.7 pygame.mouse.set_pos()函式 331
21.8 修改Dodger遊戲 335
21.9 本章小結 335
1.1 下載和安裝Python 1
1.2 啟動IDLE 2
1.3 如何使用本書 3
1.4 尋求線上幫助 4
第2章 互動式shell 6
2.1 一些簡單的數學知識 6
2.2 計算表示式 7
2.4 本章小結 12
第3章 編寫程式 13
3.1 字串 13
3.2 字串連線 14
3.3 在IDLE的檔案編輯器中編寫程式 14
3.4 Hello World! 15
3.5 儲存程式 16
3.6 開啟儲存過的程式 16
3.7 “Hello World”程式如何工作 18
3.8 變數名稱 20
3.9 本章小結 21
第4章 “猜數字”遊戲 22
4.1 “猜數字”遊戲的執行示例 22
4.2 “猜數字”遊戲的原始碼 23
4.3 import語句 24
4.4 random.randint()函式 25
4.5 迴圈 26
4.6 語句塊 26
4.7 布林資料型別 27
4.8 比較操作符 28
4.9 條件 28
4.10 =和==的區別 30
4.11 while迴圈語句 30
4.12 使用int()函式、float()函式、str()
函式和bool()函式來轉換值 31
4.14 if語句 33
4.15 用break語句提早離開迴圈 34
4.16 流程控制語句 36
4.17 本章小結 36
第5章 Jokes 38
5.1 用好print()函式 38
5.2 Jokes遊戲的執行示例 38
5.3 Jokes遊戲的原始碼 38
5.4 轉義字元 39
5.5引號和雙引號 40
5.6 print()的end關鍵字引數 41
5.7 本章小結 42
第6章 Dragon Realm 43
6.1 函式 43
6.2 如何玩“Dragon Realm” 43
6.3 Dragon Realm遊戲的執行示例 44
6.4 Dragon Realm的原始碼 44
6.5 def語句 46
6.6 布林操作符 47
6.7 返回值 51
6.8 全域性作用域和區域性作用域 51
6.9 形參(parameter) 53
6.10 設計遊戲 56
6.11 本章小結 57
第7章 使用偵錯程式 58
7.1 Bug! 58
7.2 偵錯程式 59
7.3 單步執行 61
7.4 查詢Bug 63
7.5 斷點 66
7.6 使用斷點的示例 67
7.7 本章小結 68
第8章 流程圖 69
8.1 如何玩Hangman 69
8.2 Hangman的執行示例 69
8.3 ASCII字元圖 71
8.4 用流程圖來設計一個程式 71
8.5 生成流程圖 73
8.6 本章小結 79
第9章 Hangman 81
9.1 Hangman的原始碼 81
9.2 多行字串 86
9.3 常量 86
9.4 列表 86
9.5 方法 91
9.6 字串方法lower()和upper() 91
9.7 列表方法reverse()和append() 92
9.8 列表方法split() 93
9.9 range()函式和list()函式 95
9.10 for迴圈 96
9.11 切片 98
9.12 elif (“Else If”)語句 101
9.13 本章小結 108
第10章 Hangman擴充套件 109
10.1 字典 110
10.2 random.choice()函式 113
10.3 多變數賦值 114
10.4 本章小結 116
第11章 Tic Tac Toe 117
11.1 Tic Tac Toe的執行示例 117
11.2 Tic Tac Toe的原始碼 118
11.3 設計程式 123
11.4 遊戲AI 124
11.5 引用 129
11.6 短路求值 137
11.7 None值 140
11.8 本章小結 146
第12章 Bagels 147
12.1 Bagels的執行示例 147
12.2 Bagels的原始碼 148
12.3 random.shuffle()函式 151
12.4 複合賦值操作符 153
12.5 列表方法sort() 154
12.6 字串方法join() 155
12.7 字串插值 157
12.8 本章小結 160
第13章 笛卡爾座標 161
13.1 網格和笛卡爾座標 161
13.2 負數 163
13.3 數學技巧 164
13.4 絕對值和abs()函式 166
13.5 計算機螢幕的座標系 167
13.6 本章小結 167
第14章 Sonar Treasure Hunt 168
14.1 Sonar Treasure Hunt的
執行示例 169
14.2 Sonar Treasure Hunt的原始碼 173
14.3 設計程式 179
14.4 找到最近的藏寶箱的演算法 185
14.5 列表方法remove() 187
14.6 本章小結 195
第15章 Caesar Cipher 196
15.1 密碼學 196
15.2 凱撒密碼 197
15.3 ASCII碼以及用數字表示字母 198
15.4 函式chr()和ord() 199
15.5 凱撒密碼的執行示例 200
15.6 Caesar Cipher的原始碼 201
15.7 程式碼如何工作 202
15.8 字串方法isalpha() 204
15.9 字串方法isupper()和
islower() 205
15.10 暴力破解 207
15.11 本章小結 209
第16章 Reversi 210
16.1 Reversi的執行示例 211
16.2 Reversi的原始碼 215
16.3 程式碼如何工作 223
16.4 bool()函式 231
16.5 本章小結 244
第17章 Reversi AI模擬 245
17.1 讓計算機和自己下棋 245
17.2 百分數 250
17.3 round()函式 251
17.4 AISim2.py的執行示例 252
17.5 比較不同的AI演算法 252
17.6 本章小結 259
第18章 圖形和動畫 260
18.1 安裝Pygame 260
18.2 Pygame中的Hello World 261
18.3 Hello World的原始碼 261
18.4 執行Hello World程式 263
18.5 元組 264
18.6 RGB顏色 265
18.7 字型和pygame.font.SysFont()
函式 266
18.8 屬性 267
18.9 建構函式 269
18.10 Pygame的繪製函式 269
18.11 事件和遊戲迴圈 272
18.12 動畫 273
18.13 Animation程式的原始碼 274
18.14 Animation程式如何工作 276
18.15 執行程式迴圈 279
18.16 本章小結 282
第19章 碰撞檢測與滑鼠/鍵盤的輸入 284
19.1 Collision Detection程式的
原始碼 284
19.2 Collision Detection演算法 288
19.3 當遍歷一個列表的時候,
不要修改該列表 292
19.4 鍵盤輸入程式的原始碼 293
19.5 colliderect()方法 300
19.6 本章小結 301
第20章 聲音和影象 302
20.1 聲音檔案和影象檔案 303
20.2 精靈和聲音程式 303
20.3 Sprites and Sounds程式的
原始碼 304
20.4 pygame.transform.scale()函式 308
20.5 本章小結 311
第21章 Dodger 312
21.1 回顧Pygame的基本資料型別 312
21.2 Dodger的原始碼 313
21.3 全屏模式 322
21.4 遊戲迴圈 325
21.5 事件處理 325
21.6 move_ip()方法 328
21.7 pygame.mouse.set_pos()函式 331
21.8 修改Dodger遊戲 335
21.9 本章小結 335