包郵 Python和Pygame游戲開(kāi)發(fā)指南
-
>
全國(guó)計(jì)算機(jī)等級(jí)考試最新真考題庫(kù)模擬考場(chǎng)及詳解·二級(jí)MSOffice高級(jí)應(yīng)用
-
>
決戰(zhàn)行測(cè)5000題(言語(yǔ)理解與表達(dá))
-
>
軟件性能測(cè)試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
JAVA持續(xù)交付
-
>
EXCEL最強(qiáng)教科書(shū)(完全版)(全彩印刷)
-
>
深度學(xué)習(xí)
Python和Pygame游戲開(kāi)發(fā)指南 版權(quán)信息
- ISBN:9787115407351
- 條形碼:9787115407351 ; 978-7-115-40735-1
- 裝幀:一般膠版紙
- 冊(cè)數(shù):暫無(wú)
- 重量:暫無(wú)
- 所屬分類(lèi):>
Python和Pygame游戲開(kāi)發(fā)指南 本書(shū)特色
適讀人群 :游戲開(kāi)發(fā)人員、Python編程愛(ài)好者本書(shū)作者在國(guó)外發(fā)布英文版后,受到普遍歡迎和很好的評(píng)價(jià)。本書(shū)通過(guò)詳細(xì)分析11款示例游戲的源代碼,介紹Pygame庫(kù)的用法。寓教于樂(lè),輕松有趣。本書(shū)所涉及的11款示例游戲,是諸如Nibbles、Tetris、Simon、Bejeweled、Othello、Connect Four、Flood It等游戲的翻版。本書(shū)的Web站點(diǎn)http: inventwithpython.com pygame,提供源代碼下載等更多資源。
Python和Pygame游戲開(kāi)發(fā)指南 內(nèi)容簡(jiǎn)介
Python語(yǔ)言和Pygame都是開(kāi)發(fā)圖形化的計(jì)算機(jī)游戲的得力工具。Pygame使得開(kāi)發(fā)2D圖形程序變得很容易,而且它可以免費(fèi)下載和安裝使用。 本書(shū)是一本中級(jí)編程圖書(shū)。本書(shū)教你如何用Python語(yǔ)言和Pygame庫(kù),來(lái)編寫(xiě)圖形化的計(jì)算機(jī)游戲。本書(shū)共包括10章。本書(shū)首先從Python和Pygame基礎(chǔ)知識(shí)開(kāi)始,簡(jiǎn)短地介紹了Pygame庫(kù)是如何工作的,以及它提供了哪些功能。然后,結(jié)合7款不同的游戲?qū)嵗拈_(kāi)發(fā)過(guò)程,詳細(xì)介紹了應(yīng)用的技能和技巧。本書(shū)針對(duì)一些真實(shí)的游戲給出了完整的源代碼,并且詳細(xì)說(shuō)明了這些代碼如何工作,以便你能夠理解真正的游戲是如何使用Pygame的。 本書(shū)適合有一定Python基礎(chǔ)知識(shí)的讀者閱讀和學(xué)習(xí),進(jìn)而掌握基本的游戲開(kāi)發(fā)知識(shí)和技能,對(duì)于Python初學(xué)者來(lái)說(shuō),本書(shū)也可以作為通過(guò)游戲?qū)W習(xí)Python開(kāi)發(fā)的實(shí)踐教程。
Python和Pygame游戲開(kāi)發(fā)指南 目錄
第 1章 安裝Python和Pygame1
1.1 預(yù)備知識(shí)1
1.2 下載和安裝Python1
1.3 Windows下的安裝說(shuō)明1
1.4 Mac OS X上的安裝說(shuō)明2
1.5 Ubuntu和Linux上的安裝
說(shuō)明2
1.6 啟動(dòng)Python2
1.7 安裝Pygame3
1.8 如何閱讀本書(shū)4
1.9 特色的程序4
1.10 下載圖形文件和聲音文件4
1.11 行號(hào)和空格4
1.12 圖書(shū)中的文本折行5
1.13 在線檢查代碼5
1.14 配套網(wǎng)站上的更多信息6
第 2章 Pygame基礎(chǔ)知識(shí)7
2.1 GUI vs. CLI7
2.2 使用Pygame的Hello World程序
源代碼7
2.3 建立一個(gè)Pygame程序8
2.4 游戲循環(huán)和游戲狀態(tài)10
2.5 pygame.event.Event對(duì)象11
2.6 QUIT事件和pygame.quit()
函數(shù)12
2.7 像素坐標(biāo)13
2.8 關(guān)于函數(shù)、方法、構(gòu)造函數(shù)和
模塊中的函數(shù)(及其差別)的
一些提示13
2.9 Surface對(duì)象和窗口14
2.10 顏色15
2.11 顏色的透明度16
2.12 pygame.Color對(duì)象17
2.13 Rect對(duì)象17
2.14 基本的繪制函數(shù)19
2.15 pygame.PixelArray對(duì)象22
2.16 pygame.display.update()函數(shù)22
2.17 動(dòng)畫(huà)22
2.18 幀速率和pygame.time.Clock
對(duì)象25
2.19 用pygame.image.load()和blit()
繪制圖像26
2.20 字體26
2.21 抗鋸齒28
2.22 播放聲音28
2.23 本章小結(jié)29
第3章 Memory Puzzle游戲31
3.1 如何玩Memory Puzzle游戲31
3.2 嵌套的for循環(huán)31
3.3 Memory Puzzle的源代碼33
3.4 聲明和導(dǎo)入40
3.5 幻數(shù)很糟糕40
3.6 使用assert語(yǔ)句全面檢查41
3.7 判斷一個(gè)數(shù)字是偶數(shù)還是奇數(shù)42
3.8 較早崩潰和經(jīng)常崩潰42
3.9 讓源代碼更好看一些43
3.10 使用常量變量而不是字符串44
3.11 確保有足夠的圖標(biāo)44
3.12 元組vs.列表,不可變vs.可變45
3.13 單項(xiàng)元組需要一個(gè)結(jié)尾的逗號(hào)46
3.14 在列表和元組之間轉(zhuǎn)換46
3.15 global語(yǔ)句以及為什么全局變量
是罪惡的47
3.16 數(shù)據(jù)結(jié)構(gòu)和2D列表48
3.17 “開(kāi)始游戲”動(dòng)畫(huà)49
3.18 游戲循環(huán)50
3.19 事件處理循環(huán)50
3.20 檢查鼠標(biāo)光標(biāo)在哪一個(gè)方塊
之上51
3.21 處理第 一次點(diǎn)擊的方塊52
3.22 處理不一致的一對(duì)圖標(biāo)53
3.23 處理玩家獲勝53
3.24 將游戲狀態(tài)繪制到屏幕54
3.25 創(chuàng)建“揭開(kāi)的方塊”數(shù)據(jù)結(jié)構(gòu)55
3.26 創(chuàng)建游戲板數(shù)據(jù)結(jié)構(gòu):第 1步—獲取所有可能的圖標(biāo)55
3.27 第 2步—打亂并截取所有圖標(biāo)
的列表56
3.28 第3步—將圖標(biāo)放置到游戲
板上56
3.29 將一個(gè)列表分割為列表的
列表57
3.30 不同的坐標(biāo)系58
3.31 從像素坐標(biāo)轉(zhuǎn)換為方塊坐標(biāo)59
3.32 繪制圖標(biāo)以及語(yǔ)法糖59
3.33 獲取游戲板控件的圖標(biāo)的形狀和
顏色的語(yǔ)法糖61
3.34 繪制蓋住的方塊61
3.35 處理揭開(kāi)和覆蓋動(dòng)畫(huà)62
3.36 繪制整個(gè)游戲板63
3.37 繪制高亮邊框63
3.38 “開(kāi)始游戲”動(dòng)畫(huà)64
3.39 揭開(kāi)和蓋住成組的方塊64
3.40 “游戲獲勝”動(dòng)畫(huà)65
3.41 判斷玩家是否已經(jīng)獲勝65
3.42 為何要那么麻煩地使用main()
函數(shù)66
3.43 為什么要為可讀性操心67
3.44 本章小結(jié)71
第4章 Slide Puzzle72
4.1 如何玩Slide Puzzle72
4.2 Slide Puzzle的源代碼72
4.3 第 二款游戲和第 一 款相同80
4.4 設(shè)置按鈕81
4.5 使用愚笨的代碼變聰明83
4.6 主游戲循環(huán)83
4.7 點(diǎn)擊按鈕84
4.8 用鼠標(biāo)滑動(dòng)貼片85
4.9 用鍵盤(pán)滑動(dòng)貼片85
4.10 使用in操作符實(shí)現(xiàn)“等于其中
之一”的技巧86
4.11 WASD和箭頭按鍵86
4.12 實(shí)際執(zhí)行貼片滑動(dòng)87
4.13 IDLE和終止Pygame程序87
4.14 檢查特定的事件并且將事件添加
到Pygame的事件隊(duì)列88
4.15 創(chuàng)建游戲板數(shù)據(jù)結(jié)構(gòu)89
4.16 不記錄空白的位置89
4.17 通過(guò)更新游戲板數(shù)據(jù)結(jié)構(gòu)來(lái)
移動(dòng)90
4.18 何時(shí)不使用斷言90
4.19 獲取一次并不是那么隨機(jī)的
移動(dòng)91
4.20 將貼片坐標(biāo)轉(zhuǎn)換為像素坐標(biāo)92
4.21 將像素坐標(biāo)轉(zhuǎn)換為游戲板坐標(biāo)92
4.22 繪制一個(gè)貼片93
4.23 讓文本顯示在屏幕上93
4.24 繪制游戲板94
4.25 繪制游戲板的邊框94
4.26 繪制按鈕95
4.27 實(shí)現(xiàn)貼片滑動(dòng)動(dòng)畫(huà)95
4.28 Surface的copy()方法96
4.29 創(chuàng)建新的謎題98
4.30 實(shí)現(xiàn)游戲板重置動(dòng)畫(huà)99
4.31 時(shí)間vs.內(nèi)存的權(quán)衡100
4.32 沒(méi)人在乎幾個(gè)字節(jié)101
4.33 沒(méi)人在乎幾百萬(wàn)個(gè)納秒101
4.34 本章小結(jié)101
第5章 Simulate102
5.1 如何玩Simulate游戲102
5.2 Simulate的源代碼102
5.3 常用初始內(nèi)容108
5.4 設(shè)置按鈕109
5.5 main()函數(shù)110
5.6 程序中用到的一些局部變量110
5.7 繪制游戲板并處理輸入111
5.8 檢查鼠標(biāo)點(diǎn)擊112
5.9 檢查鍵盤(pán)按下112
5.10 游戲循環(huán)的兩種狀態(tài)113
5.11 搞清楚玩家是否按下了正確的
按鈕113
5.12 新紀(jì)元時(shí)間115
5.13 將游戲板繪制到屏幕116
5.14 相同的舊的terminate()函數(shù)116
5.15 復(fù)用常量變量117
5.16 實(shí)現(xiàn)按鈕閃爍動(dòng)畫(huà)117
5.17 繪制按鈕120
5.18 實(shí)現(xiàn)背景顏色改變的動(dòng)畫(huà)120
5.19 游戲結(jié)束動(dòng)畫(huà)121
5.20 將像素坐標(biāo)轉(zhuǎn)換為按鈕122
5.21 顯式比隱式好123
第6章 Wormy125
6.1 Wormy游戲的玩法125
6.2 Wormy的源代碼125
6.3 柵格131
6.4 設(shè)置代碼131
6.5 main()函數(shù)132
6.6 單獨(dú)的runGame()函數(shù)133
6.7 事件處理循環(huán)134
6.8 碰撞檢測(cè)134
6.9 檢測(cè)和蘋(píng)果的碰撞135
6.10 移動(dòng)蟲(chóng)子136
6.11 insert()列表方法136
6.12 繪制屏幕137
6.13 在屏幕上繪制“Press a key”
文本137
6.14 checkForKeyPress()函數(shù)137
6.15 初始屏幕138
6.16 旋轉(zhuǎn)初始屏幕文本139
6.17 旋轉(zhuǎn)并不完 美140
6.18 決定蘋(píng)果出現(xiàn)在哪里141
6.19 游戲結(jié)束屏幕141
6.20 繪制函數(shù)142
6.21 不要復(fù)用變量名144
第7章 Tetromino146
7.1 一些Tetromino術(shù)語(yǔ)146
7.2 Tetromino的源代碼147
7.3 常用設(shè)置代碼159
7.4 設(shè)置按下鍵的定時(shí)常量159
7.5 更多的設(shè)置代碼160
7.6 設(shè)置磚塊模式161
7.7 將“一行代碼”分隔到多行164
7.8 main()函數(shù)165
7.9 開(kāi)始新的游戲166
7.10 游戲循環(huán)167
7.11 事件處理循環(huán)167
7.12 暫停游戲167
7.13 使用移動(dòng)變量來(lái)處理用戶輸入168
7.14 檢查移動(dòng)或旋轉(zhuǎn)是否有效168
7.15 找到底部171
7.16 通過(guò)按下按鍵來(lái)移動(dòng)172
7.17 讓磚塊“自然”落下174
7.18 將所有內(nèi)容繪制到屏幕上175
7.19 制作文本的快捷函數(shù)
makeTextObjs()176
7.20 相同的舊的terminate()函數(shù)176
7.21 使用checkForKeyPress()函數(shù)等
待按鍵事件176
7.22 通用文本屏幕函數(shù)
showTextScreen()177
7.23 checkForQuit()函數(shù)178
7.24 calculateLevelAndFallFreq()
函數(shù)178
7.25 用函數(shù)getNewPiece()產(chǎn)生新的
磚塊180
7.26 給游戲板數(shù)據(jù)結(jié)構(gòu)添加磚塊181
7.27 創(chuàng)建一個(gè)新的游戲板數(shù)據(jù)
結(jié)構(gòu)181
7.28 isOnBoard()和isValidPosition()
函數(shù)182
7.29 檢查、刪除和填滿一行184
7.30 將游戲板坐標(biāo)轉(zhuǎn)換為像素坐標(biāo)186
7.31 在游戲板上或屏幕上的其他位置
繪制方塊187
7.32 將所有內(nèi)容繪制到屏幕上187
7.33 繪制得分和關(guān)卡文本188
7.34 在游戲板上或屏幕的其他位置
繪制一個(gè)磚塊188
7.35 繪制“Next”磚塊189
7.36 本章小結(jié)189
第8章 Squirrel Eat Squirrel191
8.1 如何玩Squirrel Eat Squirrel191
8.2 Squirrel Eat Squirrel的設(shè)計(jì)191
8.3 Squirrel Eat Squirrel的源代碼192
8.4 常用設(shè)置代碼202
8.5 描述數(shù)據(jù)結(jié)構(gòu)203
8.6 main()函數(shù)204
8.7 pygame.transform.flip()函數(shù)205
8.8 更為詳細(xì)的游戲狀態(tài)205
8.9 常用的文本創(chuàng)建代碼206
8.10 相機(jī)206
8.11 “活動(dòng)區(qū)域”208
8.12 記錄游戲世界中的物體的位置208
8.13 從一些草開(kāi)始209
8.14 游戲循環(huán)209
8.15 檢查去掉保護(hù)狀態(tài)209
8.16 移動(dòng)敵人松鼠210
8.17 刪除較遠(yuǎn)的草對(duì)象和松鼠
對(duì)象211
8.18 當(dāng)從列表中刪除項(xiàng)的時(shí)候,
反向遍歷列表211
8.19 添加新的草對(duì)象和松鼠對(duì)象213
8.20 相機(jī)延遲以及移動(dòng)相機(jī)視圖213
8.21 繪制背景、草、松鼠和生命值
指示214
8.22 事件處理循環(huán)216
8.23 移動(dòng)玩家并考慮跳動(dòng)218
8.24 碰撞檢測(cè):吃或被吃219
8.25 游戲結(jié)束屏幕221
8.26 獲勝221
8.27 繪制圖形化的生命值指標(biāo)221
8.28 相同的舊的terminate()函數(shù)222
8.29 正弦函數(shù)222
8.30 對(duì)Python 2的向后兼容225
8.31 getRandomVelocity()函數(shù)226
8.32 找到一個(gè)地方添加新的松鼠
和草226
8.33 創(chuàng)建敵人松鼠數(shù)據(jù)結(jié)構(gòu)228
8.34 翻轉(zhuǎn)松鼠圖像228
8.35 創(chuàng)建草數(shù)據(jù)結(jié)構(gòu)229
8.36 檢查是否在活動(dòng)區(qū)域之外229
8.37 本章小結(jié)230
第9章 Star Pusher231
9.1 如何玩Star Pusher231
9.2 Star Pusher的源代碼232
9.3 初始化設(shè)置245
9.4 Star Pusher中的數(shù)據(jù)結(jié)構(gòu)259
9.5 讀取和寫(xiě)入文本文件260
9.6 遞歸函數(shù)268
9.7 棧溢出269
9.8 使用基本條件防止棧溢出271
9.9 漫水填充算法271
9.10 繪制地圖273
9.11 檢查關(guān)卡是否完成275
9.12 本章小結(jié)276
第 10章 4款其他游戲277
10.1 Flippy,Othello的翻版277
10.2 Flippy的源代碼279
10.3 Ink Spill,F(xiàn)lood It游戲的
翻版291
10.4 Ink Spill的源代碼292
10.5 Four-In-A-Row,Connect Four
的翻版303
10.6 Four-In-A-Row的源代碼304
10.7 Gemgem,Bejeweled的翻版312
10.8 Gemgem的源代碼313
10.9 本章小結(jié)326
術(shù)語(yǔ)表328
Python和Pygame游戲開(kāi)發(fā)指南 作者簡(jiǎn)介
Al Sweigart是加利福尼亞州舊金山的一名軟件開(kāi) 發(fā)者。他很喜歡騎自行車(chē)、當(dāng)志愿者、泡咖啡吧以及制作有用的軟件。《Making Games with Python & Pygame》是他編寫(xiě)的第 二本書(shū)。他的另一本書(shū)是《Invent Your Own Computer Games with Python》。他生于德克薩斯的休斯頓。他在德克薩斯大學(xué)Austin分校讀完了計(jì)算機(jī)科學(xué)學(xué)位。
- >
煙與鏡
- >
我與地壇
- >
羅曼·羅蘭讀書(shū)隨筆-精裝
- >
巴金-再思錄
- >
新文學(xué)天穹兩巨星--魯迅與胡適/紅燭學(xué)術(shù)叢書(shū)(紅燭學(xué)術(shù)叢書(shū))
- >
經(jīng)典常談
- >
大紅狗在馬戲團(tuán)-大紅狗克里弗-助人
- >
二體千字文