本書把趣味游戲開發(fā)應(yīng)用于Python編程教學(xué),通過介紹12個(gè)由易到難的趣味游戲案例的編寫過程,帶領(lǐng)讀者從零基礎(chǔ)開始學(xué)習(xí)。本書共13章,系統(tǒng)講解了Python語言基本概念、開發(fā)環(huán)境搭建、循環(huán)、列表、數(shù)據(jù)類型、條件、復(fù)合運(yùn)算符、字符串拼接、布爾變量、數(shù)組、函數(shù)、列表操作、面向?qū)ο缶幊痰然A(chǔ)知識(shí),還介紹了圖片操作、文件讀寫、聲音播放、異常處理等較為實(shí)用的編程技能。所有這些知識(shí)和技能,都通過游戲案例講解和展示,貫穿各章,還給出了一些練習(xí),幫助讀者鞏固所學(xué)的知識(shí)。附錄A給出了這些練習(xí)題的答案,附錄B給出了Python語法知識(shí)在書中相關(guān)章節(jié)的索引。
本書適合不同年齡層次的Python編程初學(xué)者閱讀和自學(xué),也可以作為中學(xué)生、大學(xué)生學(xué)習(xí)程序設(shè)計(jì)的教材和少兒編程培訓(xùn)機(jī)構(gòu)的參考教材。
1.易于學(xué)習(xí)和理解:先講解較少的語法知識(shí),通過游戲案例逐步引入新的語法知識(shí);
2.為初學(xué)者量身打造:案例從易到難,所有程序的代碼均不超過100行;
3.趣味性強(qiáng):12個(gè)案例,涵蓋了多種游戲類型,寓教于樂;
4.可拓展性強(qiáng):提供練習(xí)題和參考答案,鞏固知識(shí),訓(xùn)練邏輯思維;
5.配套素材齊全:提供完整源代碼和分步驟源代碼、游戲素材、游戲效果演示視頻,可通過異步社區(qū)觀看游戲開發(fā)步驟講解視頻;
6.全彩印刷。
美國教育家杜威曾說過:“大多數(shù)的人,只覺得五官能接觸的、實(shí)用的東西才有趣味,書本上的趣味是沒有的! 《Python游戲趣味編程》通過介紹12個(gè)由易到難的有趣游戲案例的編寫過程,帶領(lǐng)讀者學(xué)習(xí)用Python開發(fā)趣味游戲,從而提升讀者對(duì)編程的興趣和能力。
《Python游戲趣味編程》把趣味游戲開發(fā)應(yīng)用于Python編程教學(xué),通過介紹12個(gè)由易到難的有趣游戲案例的編寫過程,帶領(lǐng)讀者從零基礎(chǔ)開始學(xué)習(xí)。全書共13章,系統(tǒng)講解了Python語言基本概念、開發(fā)環(huán)境搭建、循環(huán)、列表、數(shù)據(jù)類型、條件、復(fù)合運(yùn)算符、字符串拼接、布爾變量、數(shù)組、函數(shù)、列表操作、面向?qū)ο缶幊痰然A(chǔ)知識(shí),還介紹了圖片操作、文件讀寫、聲音播放、異常處理等較為實(shí)用的編程技能,所有這些知識(shí)和技能,都通過游戲案例展示其用法。貫穿各章,還給出了一些練習(xí),幫助讀者鞏固所學(xué)的知識(shí)。附錄A給出了這些練習(xí)題的答案,附錄B給出了Python語法知識(shí)在書中相關(guān)章節(jié)的索引。
《Python游戲趣味編程》適合不同年齡、不同層次的Python編程初學(xué)者閱讀和自學(xué),也可以作為中學(xué)生、大學(xué)生學(xué)習(xí)程序設(shè)計(jì)的教材和少兒編程培訓(xùn)機(jī)構(gòu)的參考教材。
本書適合以下人群閱讀:
想要讓孩子學(xué)習(xí)Python編程的家長,或者想要自己教孩子編程的家長。
學(xué)習(xí)過其他編程語言,想要快速學(xué)習(xí)Python的人。
對(duì)計(jì)算機(jī)游戲感興趣,想要嘗試Python游戲編程的人。
想要學(xué)習(xí)Python編程的中學(xué)生和大學(xué)生。
少兒編程培訓(xùn)機(jī)構(gòu)的老師和學(xué)生。
任何對(duì)計(jì)算機(jī)編程感興趣、特別是初次接觸編程的人。
本書中制作和講解的小游戲
彈跳的小球
美麗的圓圈畫
瘋狂的小圓圈
飛翔的小鳥
見縫插針
飛機(jī)大戰(zhàn)
勇闖地下一百層
貪吃蛇
拼圖游戲
消滅星星
堅(jiān)持一百秒
趣味圖像生成
童晶
浙江大學(xué)計(jì)算機(jī)專業(yè)博士,河海大學(xué)計(jì)算機(jī)系副教授、碩士生導(dǎo)師,中科院兼職副研究員。具有15 年的一線編程教學(xué)經(jīng)驗(yàn),開設(shè)課程在校內(nèi)廣受好評(píng),指導(dǎo)學(xué)生獲得英特爾嵌入式比賽全國一等獎(jiǎng)、“挑戰(zhàn)杯”全國三等獎(jiǎng)、“中國軟件杯”全國一等獎(jiǎng)、中國大學(xué)生服務(wù)外包大賽全國一等獎(jiǎng)等眾多獎(jiǎng)項(xiàng)。被評(píng)為河海大學(xué)優(yōu)秀主講教師;在知乎、網(wǎng)易云課堂、中國大學(xué)MOOC 等平臺(tái)的教學(xué)課程已有上百萬次的閱讀量與學(xué)習(xí)量。
童雨涵
三年級(jí)小學(xué)生。2019 年暑假開始接觸Scratch 編程,產(chǎn)生濃厚興趣,跟隨
爸爸系統(tǒng)學(xué)習(xí)。2019 年底通過了中國電子學(xué)會(huì)的全國青少年軟件編程等級(jí)
考試(Scratch)一級(jí)考試。2019 年11 月,獲常州“鐘樓杯”首屆青少年
Scratch 創(chuàng)意編程大賽低齡組三等獎(jiǎng);2019 年12 月,獲常州國家高新區(qū)首
屆“菁英杯”創(chuàng)意編程大賽低年級(jí)組一等獎(jiǎng)。
第 1章Python與開發(fā)環(huán)境介紹 1
1.1 什么是Python 1
1.2 Python集成開發(fā)環(huán)境 2
1.3 小結(jié) 6
第 2章彈跳的小球 7
2.1 安裝游戲開發(fā)庫 7
2.2 顯示一個(gè)靜止小球 10
2.3 設(shè)置小球與背景的顏色 11
2.4 顯示多個(gè)靜止小球 13
2.5 利用變量修改多個(gè)小球的參數(shù) 15
2.6 逐漸變大的小球 17
2.7 小球逐漸下落 19
2.8 利用if語句實(shí)現(xiàn)小球重復(fù)下落 19
2.9 小球上下反彈 21
2.10 斜著彈跳的小球 24
2.11 小結(jié) 26
第3章美麗的圓圈畫 27
3.1 繪制多層同心圓 28
3.2 for循環(huán)語句 29
3.3 顏色的表示 33
3.4 有趣的隨機(jī) 35
3.5 循環(huán)的嵌套 37
3.6 彩色同心圓平鋪 39
3.7 小結(jié) 42
第4章瘋狂的小圓圈 43
4.1 繪制彩虹 44
4.2 列表 45
4.3 利用列表實(shí)現(xiàn)多個(gè)小球反彈 49
4.4 利用鼠標(biāo)互動(dòng)增加小球 52
4.5 繪制同心圓 53
4.6 小結(jié) 54
第5章飛翔的小鳥 55
5.1 背景圖片的導(dǎo)入和顯示 56
5.2 顯示一只靜止小鳥 58
5.3 小鳥的下落與上升 59
5.4 障礙物的顯示與移動(dòng) 60
5.5 游戲失敗的判斷 63
5.6 得分的顯示 64
5.7 游戲難度的逐漸增加 65
5.8 游戲失敗后的重置 68
5.9 小結(jié) 69
第6章見縫插針 70
6.1 圓盤與針的顯示 71
6.2 針的旋轉(zhuǎn) 73
6.3 針的發(fā)射與開始轉(zhuǎn)動(dòng) 76
6.4 多根針的發(fā)射與轉(zhuǎn)動(dòng) 79
6.5 游戲失敗的判斷 81
6.6 游戲失敗后停止旋轉(zhuǎn) 83
6.7 得分統(tǒng)計(jì)與游戲信息顯示 83
6.8 添加音效 84
6.9 小結(jié) 86
第7章飛機(jī)大戰(zhàn) 87
7.1 顯示飛機(jī)與背景圖片 87
7.2 背景循環(huán)滾動(dòng) 89
7.3 發(fā)射子彈 91
7.4 敵機(jī)的顯示和下落 94
7.5 擊中敵機(jī)的判斷與得分顯示 95
7.6 游戲失敗的判定與處理 99
7.7 添加音效 104
7.8 小結(jié) 104
第8章勇闖地下一百層 106
8.1 鍵盤控制游戲角色移動(dòng) 106
8.2 磚塊圖片的導(dǎo)入與繪制 109
8.3 角色與磚塊相對(duì)位置的判斷 109
8.4 多個(gè)磚塊的實(shí)現(xiàn) 112
8.5 磚塊的上移與更新 113
8.6 失敗的判斷與顯示 116
8.7 得分的計(jì)算與顯示 117
8.8 行走動(dòng)畫的實(shí)現(xiàn) 120
8.9 小結(jié) 123
第9章貪吃蛇 124
9.1 蛇的構(gòu)造與顯示 125
9.2 小蛇向右移動(dòng) 126
9.3 小蛇向4個(gè)方向移動(dòng) 128
9.4 玩家控制小蛇移動(dòng) 130
9.5 游戲失敗的判斷 130
9.6 食物的隨機(jī)出現(xiàn) 132
9.7 吃食物增加長度 133
9.8 得分的記錄與顯示 134
9.9 函數(shù)的定義與使用 137
9.10 時(shí)間控制的改進(jìn) 140
9.11 小結(jié) 144
第 10章拼圖游戲 145
10.1 拼圖塊的顯示 146
10.2 利用列表存儲(chǔ)所有的小拼圖塊 147
10.3 兩個(gè)小拼圖位置的交換 148
10.4 定義小拼圖位置交換函數(shù) 150
10.5 判斷鼠標(biāo)點(diǎn)擊了哪個(gè)小拼圖 151
10.6 交換先后點(diǎn)擊的兩個(gè)小拼圖位置 151
10.7 游戲勝利的判斷 152
10.8 增加提示信息 153
10.9 游戲計(jì)時(shí)與最佳紀(jì)錄 156
10.10 小結(jié) 158
第 11章消滅星星 159
11.1 10行10列小方塊的隨機(jī)顯示 160
11.2 利用二維數(shù)組存儲(chǔ)小方塊的編號(hào) 161
11.3 利用二維數(shù)組的信息繪制小方塊 163
11.4 將鼠標(biāo)點(diǎn)擊的方塊變成黑色方塊 165
11.5 連通方塊序號(hào)的獲取 167
11.6 方塊的消失及位置更新 173
11.7 得分的計(jì)算與顯示 175
11.8 右邊的列向左移動(dòng) 176
11.9 小結(jié) 179
第 12章堅(jiān)持一百秒 180
12.1 面向?qū)ο蟀姹镜男∏蚍磸棥 ?80
12.2 每秒生成一個(gè)小球 185
12.3 飛機(jī)控制與失敗判定 186
12.4 生命顯示與游戲音效 187
12.5 添加智能小球 190
12.6 小結(jié) 192
第 13章趣味圖像生成 193
13.1 圖像文件的打開與顯示 194
13.2 圖像的剪裁與保存 196
13.3 圖像的復(fù)制與粘貼 198
13.4 像素顏色的讀寫 201
13.5 隨機(jī)互動(dòng)的風(fēng)格圖片生成 202
13.6 小結(jié) 207
附錄A練習(xí)題參考答案 208
附錄B語法知識(shí)索引 233