C和C++游戲趣味編程(全彩印刷)

童晶

  • 出版商: 人民郵電
  • 出版日期: 2021-02-01
  • 售價: $594
  • 貴賓價: 9.5$564
  • 語言: 簡體中文
  • 頁數: 343
  • ISBN: 7115551995
  • ISBN-13: 9787115551993
  • 相關分類: C++ 程式語言

立即出貨 (庫存 < 4)

  • C和C++游戲趣味編程(全彩印刷)-preview-1
  • C和C++游戲趣味編程(全彩印刷)-preview-2
C和C++游戲趣味編程(全彩印刷)-preview-1

買這商品的人也買了...

相關主題

商品描述

本書通過趣味案例逐步引入語法知識,教讀者用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