C和C++游戲趣味編程(全彩印刷)
童晶
買這商品的人也買了...
-
$590$502 -
$680$537 -
$396Autodesk Inventor Professional 2016中文版從入門到精通
-
$301手把手教你架構 3D遊戲引擎
-
$680$578 -
$580$452 -
$374C++程序開發案例課堂
-
$834$792 -
$480$379 -
$654$621 -
$620$465 -
$301C語言編程快速入門
-
$454嵌入式 Linux 系統設計及應用 — 基於國產龍芯 SoC
-
$400$312 -
$505C++ 編程從入門到實踐, 2/e
-
$500$390 -
$763白話 C++ 之練功
-
$714$678 -
$880$660 -
$600$474 -
$654$621 -
$594$564 -
$352二進制安全基礎
-
$880$695 -
$620$484
相關主題
商品描述
本書通過趣味案例逐步引入語法知識,教讀者用C?和?C++編寫游戲程序,激發讀者學習編程的興趣。全書共14章和3個附錄,依次介紹了C和C++編程語言的基本概念、數據類型、if語句、while循環、for循環、一維數組、函數、二維數組、字符串、文件讀寫、指針、遞歸、面向對象編程、鏈表和C++標準模板庫等知識,其中貫穿了眾多的小案例和游戲,最後綜合應用這些知識編寫了一款冒險游戲。附錄分別給出了練習題的參考答案、語法知識索引以及常用的調試方法和輔助開發工具。本書適合不同年齡、不同層次的 C 與 C++ 編程初學者閱讀和自學,也可以作為中學生、大學生學習程序設計的教材和少兒編程培訓機構的參考教材。
作者簡介
童晶,浙江大學計算機專業博士,河海大學計算機系副教授、碩士生導師,中科院兼職副研究員,主要研究方向為計算機圖形學、數字化藝術、虛擬現實、三維打印等,曾發表學術論文30 餘篇。
具有15 年的一線編程教學經驗,被評為河海大學優秀主講教師。
開設課程在校內廣受好評,在知乎、網易云課堂、中國大學MOOC 等線上平台已有上百萬次的閱讀量。
積極投身教學與學生創新,曾指導學生獲得英特爾嵌入式比賽全國一等獎、“挑戰杯”全國三等獎、“中國軟件杯”全國一等獎、中國大學生服務外包大賽全國一等獎等眾多獎項。
目錄大綱
第1章C和C++與開發環境介紹1
1.1什麼是C和C++ 1
1.2集成開發環境2
1.3小結6
第2章模擬“自由落體的小球” 7
2.1下載安裝圖形庫8
2.2顯示一個靜止小球11
2.3顯示多個小球13
2.4利用變量修改多個小球的位置16
2.5小球下落動畫20
2.6利用while實現小球下落動畫21
2.7利用if語句實現小球重複下落24
2.8小球落地反彈26
2.9小球加速下落27
2.10小結30
第3章“別碰方塊”遊戲31
3.1字符32
3.2按空格鍵控制小球起跳34
3.3方塊的繪製與移動35
3.4小球和方塊的碰撞判斷38
3.5隨機方塊的速度和高度39
3.6得分的計算與顯示42
3.7避免空中起跳46
3.8小結46
第4章“旋轉蛇”錯覺47
4.1繪製扇形48
4.2 RGB顏色模型49
4.3繪製一個扇形單元51
4.4 for循環語句52
4.5循環的嵌套56
4.6 HSV顏色模型60
4.7按鍵切換效果63
4.8小結66
第5章“見縫插針”遊戲67
5.1繪製圓盤與針68
5.2針的旋轉69
5.3利用數組實現多根針的繪製72
5.4批量繪製函數76
5.5針的發射與新增76
5.6遊戲失敗判斷79
5.7得分與顯示效果改進81
5.8小結84
第6章“見縫插圓”遊戲85
6.1利用數組記錄多個隨機圓86
6.2每次增加一個隨機圓88
6.3新圓不和已有圓相交90
6.4函數的定義與應用93
6.5新圓半徑最大化99
6.6函數封裝多種繪製效果101
6.7按鍵互動103
6.8小結106
第7章“貪吃蛇”遊戲107
7.1變量作用域與遊戲框架108
7.2基於二維數組的遊戲地圖110
7.3小蛇向右移動115
7.4控制小蛇向4個方向移動117
7.5時間控制的改進120
7.6失敗判斷與顯示122
7.7添加食物124
7.8小結129
第8章“十步萬度”遊戲130
8.1結構體131
8.2鼠標交互135
8.3被鼠標點擊後旋轉137
8.4函數的參數傳遞139
8.5旋轉的傳播141
8.6操作步數與旋轉度數142
8.7小結147
第9章“推箱子”遊戲148
9. 1字符串與字符數組149
9.2應用字符數組存儲關卡數據152
9.3鍵盤控制遊戲角色移動156
9.4元素更新的實現157
9.5遊戲勝利判斷160
9.6多關卡的實現162
9 .7基於文件的關卡數據讀取170
9.8枚舉類型172
9.9小結173
第10章“十字消除”遊戲174
10.1紅色方塊的表示與繪製175
10.2隨機顏色方塊的實現177
10.3鼠標點擊與十字消除179
10.4方塊提示框的繪製182
10.5倒計時與進度條183
10.6得分計算與勝負判斷187
10.7多關卡與增加遊戲難度188
10.8地址與指針196
10.9指針與數組199
10.10小結203
第11章櫻花樹204
11.1遞歸205
11.2分形與遞歸210
11.3繪製櫻花樹215
11.4顯示繪製過程動畫218
11.5小結222
第12章“堅持一百秒”遊戲223
12.1背景與火箭圖片的顯示224
12. 2基於結構體的反彈子彈229
12.3面向對象版本的子彈231
12.4每隔2秒增加一顆子彈234
12.5添加火箭類236
12.6碰撞判斷與火箭爆炸237
12.7堅持時間與多條生命的顯示239
12.8添加音樂音效245
12.9添加智能飛碟類246
12.10小結248
第13章“祖瑪”遊戲249
13.1鍊錶250
13.2 C++標準模板庫253
13. 3頂點類與軌跡類256
13.4添加小球類260
13.5將小球放置在軌跡線上262
13.6小球自動沿著軌跡運動264
13.7小球的插入與消除270
13.8添加砲臺類272
13.9砲臺旋轉與更改小球顏色274
13.10砲臺發射小球275
13.11連續出球與勝負判斷277
13.12添加音效和復雜軌道278
13.13小結280
第14章“火柴人的無盡冒險”遊戲281
14.1定義Player類282
14.2異步輸入與延時改進285
14.3枚舉類型狀態切換286
14.4添加奔跑動畫288
14.5跳躍的實現290
14.6添加地麵類與場景類292
14.7火柴人與地面的碰撞檢測294
14.8相對運動效果的實現296
14.9無盡關卡與勝負判斷298
14.10添加敵人類300
14.11添加音效和更多圖片303
14.12小結305
附錄A練習題參考答案307
附錄B語法知識索引337
附錄C調試方法與輔助工具342