注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)工業(yè)技術(shù)建筑科學(xué)建筑設(shè)計(jì)趣學(xué)Python游戲編程

趣學(xué)Python游戲編程

趣學(xué)Python游戲編程

定 價(jià):¥49.00

作 者: 何青
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787302549772 出版時(shí)間: 2020-06-01 包裝:
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 238 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《趣學(xué)Python游戲編程》是高校教師多年開(kāi)發(fā)經(jīng)驗(yàn)的結(jié)晶之作,深入淺出地講解使用Python語(yǔ)言進(jìn)行游戲開(kāi)發(fā),幫助讀者快速掌握游戲設(shè)計(jì)的基本原理和方法,同時(shí)提高應(yīng)用Python語(yǔ)言的編程能力?!度W(xué)Python游戲編程》精選十個(gè)游戲案例,涵蓋不同的游戲類(lèi)型,每一章圍繞一個(gè)經(jīng)典游戲案例展開(kāi),并突出一個(gè)游戲編程的主題。《趣學(xué)Python游戲編程》涉及的主要知識(shí)點(diǎn)有游戲循環(huán)的原理、鼠標(biāo)及鍵盤(pán)事件處理、碰撞檢測(cè)及處理、隨機(jī)數(shù)的運(yùn)用、定時(shí)器的使用、游戲場(chǎng)景的滾動(dòng)、角色動(dòng)畫(huà)的播放、音效及音樂(lè)的播放、緩動(dòng)效果、游戲關(guān)卡設(shè)計(jì)、游戲人工智能的原理及運(yùn)用等。《趣學(xué)Python游戲編程》將Python語(yǔ)法知識(shí)及常用的編程技巧糅合在各個(gè)游戲案例中介紹,為讀者展示Python語(yǔ)言的實(shí)際運(yùn)用場(chǎng)景?!度W(xué)Python游戲編程》內(nèi)容安排合理,架構(gòu)清晰,注重理論與實(shí)踐相結(jié)合,適合作為零基礎(chǔ)學(xué)習(xí)Python開(kāi)發(fā)初學(xué)者的教程,也可作為本科院校及大專院校的教材,還可供職業(yè)技術(shù)學(xué)校和各類(lèi)游戲培訓(xùn)機(jī)構(gòu)使用?!度W(xué)Python游戲編程》特點(diǎn):內(nèi)容豐富實(shí)用。不僅包括Python語(yǔ)言的基礎(chǔ)知識(shí),完整展示在各種游戲類(lèi)型中高效地綜合應(yīng)用開(kāi)發(fā)技術(shù)和方法,而且注重知識(shí)的實(shí)用性。真正從零基礎(chǔ)開(kāi)始。分任務(wù)、分步驟地介紹各個(gè)游戲案例,展示游戲從無(wú)到有的完整設(shè)計(jì)過(guò)程。理論與實(shí)踐相結(jié)合。不僅介紹各種技術(shù)的基本應(yīng)用和實(shí)現(xiàn),而且討論多種實(shí)際應(yīng)用場(chǎng)景,幫助讀者真正理解并應(yīng)用到實(shí)際開(kāi)發(fā)中。

作者簡(jiǎn)介

  何青,湖南文理學(xué)院計(jì)算機(jī)教師,畢業(yè)于中山大學(xué)。從事計(jì)算機(jī)游戲設(shè)計(jì)課程教學(xué)十余年,教學(xué)經(jīng)驗(yàn)豐富,教學(xué)成果顯著,主持教育部產(chǎn)學(xué)合作協(xié)同育人項(xiàng)目“計(jì)算機(jī)游戲設(shè)計(jì)課程教師技能培養(yǎng)”,發(fā)表游戲設(shè)計(jì)教學(xué)研究論文多篇,出版游戲設(shè)計(jì)圖書(shū)三部:《游戲程序設(shè)計(jì)教程》《Java游戲程序設(shè)計(jì)教程》《Java游戲開(kāi)發(fā)實(shí)踐:Greenfoot編程快速入門(mén)》。

圖書(shū)目錄

目錄
第 1章 神奇的游戲循環(huán):彈跳小球 ··· 1
1.1 準(zhǔn)備工作 ································· 1
1.1.1 選擇合適的開(kāi)發(fā)工具 ············· 1
1.1.2 設(shè)置開(kāi)發(fā)環(huán)境 ······················ 2
1.2 從何處開(kāi)始 ······························ 3
1.2.1 創(chuàng)建程序窗口 ······················· 3
1.2.2 改變窗口大小和顏色 ·············· 5
1.2.3 顯示圖像 ····························· 7
1.3 建立游戲世界 ··························· 9
1.3.1 創(chuàng)建游戲場(chǎng)景 ······················· 9
1.3.2 創(chuàng)建游戲角色 ······················10
1.4 移動(dòng)小球 ································11
1.4.1 改變小球坐標(biāo)·······································11
1.4.2 游戲循環(huán)···················································································11
1.4.3 朝其他方向移動(dòng) ···················13
1.4.4 移動(dòng)得快一些 ······················14
1.5 實(shí)現(xiàn)小球反彈 ··························14
1.5.1 檢測(cè)小球的位置 ···················14
1.5.2 將小球反彈回來(lái) ···················15
1.6 加入更多的小球 ·······················17
1.6.1 添加兩個(gè)小球 ······················18
1.6.2 使用列表 ····························19
1.7 回顧與總結(jié) ·····························21
第 2章用鼠標(biāo)控制游戲:拼圖 ········24 2.1
添加圖片塊 ·····························24
2.1.1 準(zhǔn)備圖片資源 ······················24
2.1.2 創(chuàng)建游戲場(chǎng)景 ······················25
2.1.3 用列表管理圖片塊 ················26
2.2 打亂圖片塊 ·····························27
2.2.1 使用隨機(jī)函數(shù) ······················27
2.2.2 將圖片塊顯示出來(lái) ················28
2.3 移動(dòng)圖片塊 ·····························30
2.3.1 處理鼠標(biāo)單擊事件 ················30
2.3.2 選取圖片塊 ·························31
2.3.3 判斷圖片塊能否移動(dòng) ·············31
2.3.4 采用模塊化編程方法 ·············32
2.3.5 改變圖片塊的位置 ················33
2.3.6 減少程序的縮進(jìn)層級(jí) ·············33
2.4 實(shí)現(xiàn)游戲結(jié)束 ··························34
2.4.1 檢查拼圖是否完成 ················35
2.4.2 顯示最后一張圖片 ················36
2.4.3 播放聲音效果 ······················37
2.4.4 顯示文字信息 ······················38
2.5 回顧與總結(jié) ·····························39
第 3章遞歸函數(shù)的威力:掃雷 ········42
3.1 創(chuàng)建方塊陣列 ··························42
3.1.1 準(zhǔn)備圖片資源 ······················42
3.1.2 創(chuàng)建游戲場(chǎng)景 ······················43
3.1.3 生成方塊陣列 ······················43
3.1.4 埋設(shè)地雷 ····························45
3.2 給方塊插上旗子 ·······················46
3.2.1 使用鼠標(biāo)右鍵來(lái)操作 ·············46
3.2.2 定義函數(shù)執(zhí)行插旗操作 ··········47
3.3 打開(kāi)方塊 ································49
3.3.1 完善鼠標(biāo)事件處理 ················49
3.3.2 獲取周?chē)姆礁?···················50
3.3.3 統(tǒng)計(jì)地雷數(shù)量 ······················52
3.3.4 遞歸調(diào)用打開(kāi)方塊函數(shù) ··········52
3.4 判定游戲勝負(fù) ··························54
3.4.1 游戲失敗的處理 ···················54
3.4.2 游戲勝利的處理 ···················55
3.5 回顧與總結(jié) ·····························57
第 4章用鍵盤(pán)控制游戲:貪食蛇 ·····60
4.1 創(chuàng)建場(chǎng)景和角色 ·······················60
4.1.1 創(chuàng)建游戲場(chǎng)景 ······················60
4.1.2 創(chuàng)建貪食蛇 ·························61
4.2 移動(dòng)蛇頭 ································62
4.2.1 處理鍵盤(pán)按鍵事件 ················62
4.2.2 讓蛇頭持續(xù)移動(dòng) ···················63
4.2.3 另一種鍵盤(pán)控制方式 ·············64
4.2.4 延緩貪食蛇的移動(dòng) ················65
4.2.5 旋轉(zhuǎn)蛇頭的圖像 ···················66
4.2.6 使用字典類(lèi)型 ······················68
4.3 添加食物 ································69
4.3.1 讓食物隨機(jī)出現(xiàn) ···················69
4.3.2 讓貪食蛇“吃”食物 ·············70
4.3.3 增長(zhǎng)貪食蛇的身體 ················71
4.4 實(shí)現(xiàn)游戲結(jié)束 ··························74
4.4.1 判斷貪食蛇碰到窗口邊界 ·······74
4.4.2 判斷蛇頭碰到自己身體 ··········74
4.5 回顧與總結(jié) ·····························76
第 5章隨機(jī)數(shù)的妙用:打字 ············79
5.1 創(chuàng)建一個(gè)字母氣球 ····················79
5.1.1 創(chuàng)建游戲場(chǎng)景 ······················79
5.1.2 創(chuàng)建氣球角色 ······················80
5.2 添加多個(gè)氣球 ··························81
5.2.1 創(chuàng)建多個(gè)氣球角色 ················81
5.2.2 隨機(jī)生成氣球的坐標(biāo) ·············83
5.2.3 隨機(jī)生成氣球的速度 ·············85
5.2.4 隨機(jī)生成氣球的字母 ·············87
5.3 實(shí)現(xiàn)打字功能 ··························89
5.3.1 匹配字母的按鍵 ···················89
5.3.2 消除氣球 ····························89
5.3.3 修補(bǔ)游戲的 Bug ···················92
5.4 完善游戲規(guī)則 ··························94
5.4.1 添加游戲積分 ······················94
5.4.2 實(shí)現(xiàn)游戲倒計(jì)時(shí) ···················95
5.4.3 判定游戲結(jié)束 ······················97
5.5 回顧與總結(jié) ·····························98
第 6章碰撞檢測(cè)及處理:打磚塊 ··· 103
6.1 創(chuàng)建場(chǎng)景及角色 ····················· 103
6.1.1 創(chuàng)建游戲場(chǎng)景 ···················· 103
6.1.2 創(chuàng)建游戲角色 ···················· 104
6.2 讓角色動(dòng)起來(lái) ························ 106
6.2.1 移動(dòng)擋板 ·························· 106
6.2.2 移動(dòng)小球 ·························· 107
6.3 處理角色間的碰撞 ·················· 110
6.3.1 碰撞檢測(cè)的原理 ················· 110
6.3.2 小球與擋板的碰撞 ·············· 112
6.3.3 小球與磚塊的碰撞 ·············· 114
6.4 完善游戲規(guī)則 ························ 116
6.4.1 設(shè)置游戲積分 ···················· 117
6.4.2 添加生命值 ······················· 117
6.4.3 實(shí)現(xiàn)游戲結(jié)束 ···················· 118
6.5 回顧與總結(jié) ··························· 120
第 7章讓游戲更加生動(dòng): Flappy Bird ······················ 124
7.1 創(chuàng)建游戲場(chǎng)景 ························ 124
7.1.1 設(shè)置背景圖像 ···················· 124
7.1.2 滾動(dòng)背景圖像 ···················· 126
7.2 添加障礙物 ··························· 128
7.2.1 設(shè)置地面 ·························· 128
7.2.2 設(shè)置水管 ·························· 129
7.3 添加小鳥(niǎo) ······························ 131
7.3.1 創(chuàng)建小鳥(niǎo)角色 ···················· 131
7.3.2 模擬重力下的飛行 ·············· 132
7.3.3 播放飛行動(dòng)畫(huà) ···················· 133
7.4 小鳥(niǎo)與障礙物的交互 ··············· 135
7.4.1 小鳥(niǎo)與地面碰撞 ················· 135
7.4.2 小鳥(niǎo)與水管碰撞 ················· 136
7.4.3 小鳥(niǎo)飛越水管 ···················· 137
7.5 設(shè)計(jì)圖形用戶界面 ·················· 139
7.5.1 顯示 GUI圖像 ··················· 139
7.5.2 單擊“開(kāi)始”按鈕 ·············· 141
7.5.3 播放背景音樂(lè) ···················· 141
7.6 回顧與總結(jié) ··························· 142
第 8章實(shí)現(xiàn)復(fù)雜的移動(dòng):飛機(jī)大戰(zhàn) ·························· 146
8.1 創(chuàng)建游戲場(chǎng)景 ························ 146
8.1.1 設(shè)置背景圖像 ···················· 146
8.1.2 滾動(dòng)背景圖像 ···················· 148
8.2 添加英雄戰(zhàn)機(jī) ························ 148
8.2.1 控制戰(zhàn)機(jī)移動(dòng) ···················· 148
8.2.2 播放戰(zhàn)機(jī)動(dòng)畫(huà) ···················· 149
8.3 添加子彈 ······························ 151
8.3.1 實(shí)現(xiàn)子彈射擊 ···················· 151
8.3.2 設(shè)置增強(qiáng)道具 ···················· 152
8.3.3 使用三角函數(shù)計(jì)算坐標(biāo) ········ 154
8.4 添加敵機(jī) ······························ 157
8.4.1 設(shè)置緩動(dòng)效果 ···················· 157
8.4.2 敵機(jī)與子彈的交互 ·············· 160
8.4.3 敵機(jī)與戰(zhàn)機(jī)的交互 ·············· 161
8.5 完善游戲效果 ························ 165
8.5.1 設(shè)置 HUD ························ 165
8.5.2 播放背景音樂(lè) ···················· 166
8.6 回顧與總結(jié) ··························· 167
第 9章添加多個(gè)游戲關(guān)卡:推箱子 ····························· 173
9.1 創(chuàng)建場(chǎng)景和角色 ····················· 173
9.1.1 設(shè)置游戲關(guān)卡 ···················· 173
9.1.2 加載游戲關(guān)卡 ···················· 175
9.2 實(shí)現(xiàn)角色的交互 ····················· 177
9.2.1 控制玩家角色的移動(dòng) ··········· 177
9.2.2 處理玩家角色的碰撞 ··········· 178
9.2.3 處理箱子角色的碰撞 ··········· 179
9.3 添加新的關(guān)卡 ························ 181
9.3.1 從文件載入關(guān)卡 ················· 181
9.3.2 切換關(guān)卡 ·························· 184
9.4 完善游戲功能 ························ 186
9.4.1 重置關(guān)卡 ·························· 186
9.4.2 判定游戲結(jié)束 ···················· 187
9.5 回顧與總結(jié) ··························· 188
第 10章人工智能的奧秘:五子棋 ···························· 193
10.1 創(chuàng)建棋盤(pán)和棋子 ···················· 193
10.1.1 繪制棋盤(pán) ························ 193
10.1.2 設(shè)置棋子 ························ 195
10.2 執(zhí)行走棋操作 ······················· 195
10.2.1 使用鼠標(biāo)下棋 ·················· 195
10.2.2 交換下棋雙方 ·················· 197
10.3 完善游戲規(guī)則 ······················· 199
10.3.1 判定棋局勝負(fù) ·················· 199
10.3.2 添加悔棋功能 ·················· 202
10.4 實(shí)現(xiàn)人機(jī)對(duì)弈 ······················· 203
10.4.1 游戲中的人工智能 ············ 203
10.4.2 讓計(jì)算機(jī)學(xué)會(huì)下棋 ············ 204
10.5 回顧與總結(jié) ·························· 209
附錄 A 配置開(kāi)發(fā)環(huán)境 ···················· 215
附錄 B Python基礎(chǔ)語(yǔ)法參考 ········· 220

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)