Python是一種解釋型、面向?qū)ο蟆?dòng)態(tài)數(shù)據(jù)類型的高級(jí)程序設(shè)計(jì)語(yǔ)言,在游戲開發(fā)領(lǐng)域,Python也得到越來(lái)越廣泛的應(yīng)用,并由此受到重視。
《Python游戲編程入門》教授用Python開發(fā)精彩游戲所需的最為重要的該你那。本書不只是介紹游戲編程概念的相關(guān)內(nèi)容,還深入到復(fù)雜的主題。全書共14章,依次介紹了使用Pygame、文件I/O、用戶輸入、數(shù)學(xué)和圖形編程、位圖圖形、精靈動(dòng)畫、沖突檢測(cè)、數(shù)組、計(jì)時(shí)和聲音、編程邏輯、三角函數(shù)、隨機(jī)地形、角色扮演游戲等重要概念。每章通過(guò)一個(gè)示例游戲來(lái)展示這些知識(shí)和工具的實(shí)際應(yīng)用。本書既可以幫助讀者掌握相關(guān)概念來(lái)構(gòu)建較為復(fù)雜的游戲,甚至進(jìn)行較為復(fù)雜的Python編程。
《Python游戲編程入門》內(nèi)容淺顯易懂,示例輕松活潑,適合Python初學(xué)者閱讀,尤其適合想要掌握Python游戲編程的讀者學(xué)習(xí)參考。
Jonathan Harbour曾經(jīng)作為副教授在UAT (Tempe, AZ)教授了5年游戲開發(fā)。他編寫了20多本(包括改編)書,涉及到大多數(shù)主流的編程語(yǔ)言,如C++、C#、VB、Java和Python。他還熟悉Xbox、Xbox 360、Windows Phone、Android、Game Boy Advance 和Pocket PC等硬件?梢酝ㄟ^(guò)www.jharbour.com聯(lián)系他。
第1章 使用類的Python
1.1 了解Geometry程序
1.2 初識(shí)Python
1.2.1 Python工具
1.2.2 Python語(yǔ)言
1.3 Python中的對(duì)象
1.3.1 在面向?qū)ο笾笆鞘裁?br />
1.3.2 接下來(lái)是什么
1.3.3 OOP:Python的方式
1.3.4 單繼承
1.3.5 多繼承
1.4 小結(jié)
第2章 初識(shí)Pygame:Pie游戲
2.1了解Pie游戲
2.2 使用Pygame
2.2.1 打印文本
2.2.2 循環(huán)
2.2.3 繪制圓
2.2.4 繪制矩形
2.2.5 繪制線條
2.2.6 繪制弧形
2.3 Pie游戲
2.4 小結(jié)
第3章 I/O、數(shù)據(jù)和字體:TRIVIA游戲
3.1了解Trivia游戲
3.2 Python數(shù)據(jù)類型
3.2.1關(guān)于打印的更多知識(shí)
3.2.2 獲取用戶輸入
3.2.3 處理異常
3.2.4 Mad Lib游戲
3.3 文件輸入/輸出
3.3.1 操作文本
3.3.2 操作二進(jìn)制文件
3.4 TRIVIA游戲
3.4.1 用Pygame打印文本
3.4.2 Trivia類
3.4.3 加載Trivia數(shù)據(jù)
3.4.4 顯示問(wèn)題和答案
3.4.5 響應(yīng)用戶輸入
3.4.6 繼續(xù)下一個(gè)問(wèn)題
3.4.7 主代碼
3.5 小結(jié)
第4章用戶輸入:Bomb Catcher游戲
4.1認(rèn)識(shí)Bomb Catcher游戲
4.2 Pygame事件
4.2.1 實(shí)時(shí)事件循環(huán)
4.2.2 鍵盤事件
4.2.3 鼠標(biāo)事件
4.3 設(shè)備輪詢
4.3.1 輪詢鍵盤
4.3.2 輪詢鼠標(biāo)
4.4 Bomb Catcher游戲
4.5 小結(jié)
第5章 Math和Graphics:Analog Clock示例程序
5.1 Analog Clock示例程序簡(jiǎn)介
5.2 基本三角函數(shù)
5.2.1 圓理論
5.2.2 遍歷圓周
5.2.3 圓示例
5.3 Analog Clock示例程序
5.3.1 獲取時(shí)間
5.3.2 繪制時(shí)鐘
5.4 小結(jié)
第6章 位圖圖形:Orbiting Spaceship示例程序
6.1 認(rèn)識(shí)Orbiting Spaceship示例程序
6.2 使用位圖
6.2.1加載位圖
6.2.2 繪制背景
6.2.3 繪制行星
6.2.4 繪制航空飛船
6.3 環(huán)繞行星軌道
6.3.1 繞軌道移動(dòng)
6.4 小結(jié)
第7章 用精靈實(shí)現(xiàn)動(dòng)畫: Escape the Dragon游戲
7.1 認(rèn)識(shí)Escape the Dragon游戲
7.2 使用Pygame精靈
7.2.1定制動(dòng)畫
7.2.2 加載精靈序列圖
7.2.3 更改幀
7.2.4 繪制一幀
7.2.5 精靈組
7.2.6 MySprite類
7.2.7 測(cè)試精靈動(dòng)畫
7.3 Escape the Dragon游戲
7.3.1 跳躍
7.3.2 沖突
7.3.3 源代碼
7.4 小結(jié)
第8章 精靈沖突:Zombie Mob游戲
8.1 Zombie Mob游戲簡(jiǎn)介
8.2 沖突檢測(cè)技術(shù)
8.2.1 兩個(gè)精靈之間的矩形檢測(cè)
8.2.2 兩個(gè)精靈之間的圓檢測(cè)
8.2.3 兩個(gè)精靈之間的像素精確遮罩檢測(cè)
8.2.4 精靈和組之間的矩形沖突
8.2.5 兩個(gè)組之間的矩形沖突檢測(cè)
8.3 Zombie Mob游戲
8.3.1 創(chuàng)建自己的模塊
8.3.2 高級(jí)定向動(dòng)畫
8.3.3 與僵尸沖突
8.3.4 獲得生命值
8.3.5 游戲源代碼
8.4 小結(jié)
第9章 數(shù)組、列表和元組:Block Breaker游戲
9.1 Block Breaker游戲簡(jiǎn)介
9.2 數(shù)組和列表
9.2.1 有一個(gè)維度的列表
9.2.2 創(chuàng)建棧式列表
9.2.3 創(chuàng)建隊(duì)列式列表
9.2.4 更多維度的列表
9.3 元組
9.3.1 打包元組
9.3.2 解包元組
9.3.3 搜索元素
9.3.4 計(jì)數(shù)元素
9.3.5 作為常量數(shù)組的元組
9.4 Block Breaker游戲
9.4.1 Block Breaker關(guān)卡
9.3.2 加載和修改關(guān)卡
9.3.3 初始化游戲
9.3.4 移動(dòng)擋板
9.3.5 移動(dòng)球
9.3.6 撞擊擋板
9.3.7 撞擊磚塊
9.3.8 主代碼
9.3.9 更新MySprite
9.4 小結(jié)
第10章 計(jì)時(shí)和聲音:Oil Spill游戲
10.1 Oil Spill游戲簡(jiǎn)介
10.2 聲音
10.2.1 加載音頻文件
10.2.2 播放音頻剪輯
10.3 構(gòu)建Oil Spill游戲
10.3.1 游戲邏輯
10.3.2 源代碼
10.4 小結(jié)
第11章 編程邏輯:Snake游戲
11.1 Snake游戲簡(jiǎn)介
11.2 開發(fā)Snake游戲
11.2.1 畫出蛇來(lái)——SnakeSegment類
11.2.2 增長(zhǎng)蛇——Snake類
11.2.3 蛇吃食物——Food類
11.2.4 初始化游戲
11.2.5 主程序
11.2.6 通過(guò)吃食物而張長(zhǎng)
11.2.7 咬到自己是不明智的
11.2.8 跌落世界之外
11.3 教蛇學(xué)會(huì)自己移動(dòng)
11.3.1 自動(dòng)移動(dòng)
11.3.2 獲得當(dāng)前方向
11.3.3 朝著食物移動(dòng)
11.3.4 其他代碼修改
11.4 小結(jié)
第12章 三角數(shù)學(xué):Tank Battle游戲
12.1 Tank Battle游戲簡(jiǎn)介
12.2 角速率
12.2.1 計(jì)算角速率
12.2.2 Pygame笨拙的旋轉(zhuǎn)
12.2.3 以任意角度前后移動(dòng)坦克
12.2.4 改進(jìn)角度折返
12.3 構(gòu)建Tank Battle游戲
12.3.1 坦克
12.3.2 子彈
12.3.3 主程序代碼
12.4 小結(jié)
第13章 隨機(jī)地形:Artillery Gunner游戲
13.1 Artillery Gunner游戲簡(jiǎn)介
13.2創(chuàng)建地形
13.2.1 定義高度地圖
13.2.2 平滑地形
13.2.3 定位柵格點(diǎn)
13.3 大炮
13.3.1 放置大炮
13.3.2 繪制炮塔
13.3.3 發(fā)射大炮
13.3.4 讓炮彈再飛一會(huì)兒
13.3.5 計(jì)算機(jī)開火
13.3.6 為擊中計(jì)分
13.4 完整的游戲
13.5 小結(jié)
第14章 更多內(nèi)容:Dungeon角色扮演游戲
14.1 Dungeon游戲簡(jiǎn)介
14.2 回顧經(jīng)典的Dungeon RPG
14.2.1 Rogue
14.2.2 NetHack
14.2.3 AngBand
14.2.4 Kingdom of Kroz
14.2.5 ZZT
14.3 創(chuàng)建一個(gè)地下城關(guān)卡
14.3.1 理解ASCII字符
14.3.2 模擬文本控制臺(tái)顯示
14.3.3 生成隨機(jī)房間
14.3.4 生成隨機(jī)的通道
14.4 填充地下城
14.4.1 添加入口和出口
14.4.2 添加金子
14.4.3 添加武器、盔甲和生命值
14.4.4 添加怪獸
14.4.5 完整的Dungeon類
14.4.6 添加玩家的角色
14.5 高級(jí)游戲邏輯
14.5.1 撿拾物品
14.5.2 與怪獸戰(zhàn)斗
14.5.3 移動(dòng)怪獸
14.5.4 可見(jiàn)性范圍
14.5.5 退出關(guān)卡
14.5.6 結(jié)束游戲邏輯
14.6 小結(jié)
附錄A 安裝Python和Pygame
A.1 安裝Python
A.2 安裝Pygame
附錄B Pygame按鍵代碼