《Visual C++游戏开发案例实战》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:王浩等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302337621
  • 页数:468 页
图书介绍:第一篇游戏开发基础,介绍游戏开发相关的编程知识。第二篇分布开发案例精讲,通过分步讲解五子棋游戏开发实例来介绍游戏项目的开发过程。第三篇高级篇介绍多个游戏项目开发实例来丰富读者相关经验,包括贪吃蛇游戏实例开发项目介绍、俄罗斯方块游戏实例开发项目介绍、连连看游戏实例开发项目介绍、黑白棋游戏实例开发项目介绍。本次改版将对图书的错漏做修改,并调整部分章节的内容。

第1篇 游戏开发基础 2

第1章 游戏开发者都应该掌握的知识 2

1.1各种游戏类型 2

1.1.1角色扮演游戏 3

1.1.2动作游戏 5

1.1.3冒险游戏 6

1.1.4策略游戏 7

1.1.5即时战略游戏 7

1.1.6格斗游戏 8

1.1.7射击游戏 9

1.1.8第一人称射击游戏 9

1.1.9益智游戏 9

1.1.10竞速游戏 10

1.1.11体育游戏 10

1.1.12养成游戏 11

1.1.13模拟游戏 11

1.1.14卡片游戏 12

1.1.15 音乐游戏 13

1.2游戏开发技术 13

1.2.1图像显示技术 13

1.2.2游戏引擎技术 16

1.2.3游戏脚本技术 18

1.3总结 19

第2章 Visual C++集成开发环境(教学视频:32分钟) 21

2.1 Visual C++的过去和未来 21

2.1.1 Visual C++开发工具的由来 21

2.1.2 Visual C++开发工具的特点 22

2.2 Visual C++的安装 22

2.2.1 Visual C++的定制安装 22

2.2.2 Visual C++的启动 25

2.3部署Visual C++游戏项目 26

2.3.1项目中的各种文件的定义 26

2.3.2项目文件夹的定义 27

2.4 Windows的窗体 28

2.4.1 Windows中的窗体 28

2.4.2应用程序与窗体的关系 29

2.5使用Visual C++开发工具 29

2.5.1 Visual C++开发工具的主界面 29

2.5.2使用向导创建项目 30

2.5.3创建一个Hello World程序 31

2.5.4工程文件的配置 34

2.6总结 35

第3章 C++编程语言基础(教学视频:64分钟) 36

3.1 C++编程语言是什么 36

3.1.1 C++语言的由来 37

3.1.2 C++语言的特点 37

3.2 C++中的各种字符 37

3.2.1标识符与关键字 38

3.2.2分隔符与注释符 38

3.3 C++中的常用数据类型 40

3.3.1整数型数据 40

3.3.2实数型数据 42

3.3.3字符型数据 43

3.3.4布尔型数据 45

3.4 C++中的常量与变量 46

3.4.1变量的定义 46

3.4.2常量的定义 47

3.5 C++中的运算符与表达式 48

3.5.1赋值运算符 48

3.5.2算术运算符 48

3.5.3自增与自减运算符 51

3.5.4复合运算符 52

3.5.5位运算符 52

3.5.6关系运算符 54

3.6 C++中的控制语句 55

3.6.1基本语句 55

3.6.2条件选择语句 56

3.6.3循环语句 61

3.7 C++中的数组、指针及引用 64

3.7.1数组的定义与操作 64

3.7.2指针的定义与操作 66

3.7.3引用的定义与操作 69

3.8函数 70

3.8.1使用函数的好处 71

3.8.2函数的定义及声明 71

3.8.3认识函数的参数 72

3.8.4函数的调用及返回值 73

3.9 C++的类及其主要函数 75

3.9.1 C++的优点 75

3.9.2定义C++类 76

3.9.3成员变量 77

3.9.4成员函数 78

3.9.5构造函数 78

3.9.6析构函数 79

3.9.7虚函数 79

3.10运算符的重载 81

3.11C++语言的编程规范 83

3.11.1命名规范 83

3.11.2格式规范 85

3.11.3函数规范 86

3.11.4其他规范 88

3.12总结 88

3.13挑战 89

第4章 网络通信基础(教学视频:76分钟) 90

4.1 TCP/IP简介 90

4.1.1 TCP/IP整体构架概述 90

4.1.2 TCP/IP协议的应用 91

4.1.3 TCP/IP协议的特性 92

4.2 TCP/IP中的各种协议 93

4.2.1 IP协议 93

4.2.2 TCP协议 94

4.2.3 UDP协议 95

4.3 Socket简介 96

4.3.1什么是Sockets 96

4.3.2 Socket网络通信模式 96

4.3.3 Socket的函数 97

4.3.4 Socket的使用示例 102

4.4 Windows CSockets类的介绍及使用 104

4.4.1 CAsyncSocket类和CSocket类的介绍 104

4.4.2阻塞和非阻塞模式 105

4.4.3类的成员函数介绍 105

4.4.4 CAsyncSocket和CSocket类的编程模型 109

4.5 CAsyncSocket类综合应用 110

4.5.1服务器端设计 111

4.5.2客户端设计 119

4.5.3综合测试 122

4.6总结 123

4.7挑战 123

第5章 游戏中的多媒体处理(教学视频:58分钟) 125

5.1游戏的多媒体 125

5.1.1多媒体的概念 125

5.1.2多媒体技术的特点 126

5.1.3多媒体能做什么 126

5.2认识各种多媒体文件 127

5.2.1 Windows中的文本文件 127

5.2.2 Windows中的图像文件 128

5.2.3 Windows中的声音文件 129

5.2.4 Windows中的视频文件 130

5.3游戏中图像的显示 132

5.3.1使用Pictrue控件显示图像 132

5.3.2通过对话框背景显示图像 134

5.3.3使用BitBlt()函数动态显示图像 137

5.4游戏中音乐的播放 141

5.5游戏中的互动 143

5.5.1系统对输入设备的处理 143

5.5.2键盘消息响应 144

5.5.3鼠标消息响应 148

5.6两个入门小实例 154

5.6.1简单的MP3播放器 154

5.6.2简单的图片浏览器 162

5.7总结 170

5.8挑战 170

第6章 项目管理基础(教学视频:68分钟) 171

6.1项目管理 171

6.1.1项目与项目管理概念 171

6.1.2项目管理的特点 171

6.1.3采用项目管理的优势 172

6.2软件工程与项目管理 173

6.2.1软件工程的概念 173

6.2.2软件工程的重要性 174

6.2.3软件工程管理的流程 176

6.3需求分析 178

6.3.1什么是需求分析 178

6.3.2需求分析的任务和过程 178

6.3.3需求分析的方法 179

6.3.4需求分析的20条法则 179

6.3.5深入获得用户的需求 183

6.3.6可行性分析 183

6.3.7成本效益分析 184

6.3.8确定开发环境 185

6.4项目计划安排 186

6.4.1项目开发计划的重要性 186

6.4.2如何制定项目开发计划 186

6.5总体设计 188

6.5.1总体设计的概念和目的 188

6.5.2总体设计的过程 188

6.6详细设计的工具 188

6.7软件测试 189

6.7.1软件测试的目标 189

6.7.2黑盒与白盒测试 190

6.7.3软件测试的步骤 190

6.7.4设计测试方案 191

6.8软件维护 192

6.8.1软件维护的概念 192

6.8.2软件项目的可维护性 192

6.9总结 193

第2篇 五子棋游戏案例分讲 196

第7章 五子棋游戏项目开发的前期工作(教学视频:31分钟) 196

7.1五子棋游戏的用户需求描述 196

7.2五子棋游戏的需求说明书 198

7.3制作五子棋游戏的概要设计文档 199

7.4五子棋游戏的操作界面设计文档 202

7.5总结 203

第8章 五子棋游戏界面与通信开发详解(教学视频:45分钟) 204

8.1五子棋游戏的详细设计 204

8.1.1五子棋游戏详细设计的目标 204

8.1.2五子棋游戏功能结构及名称定义 204

8.2网络通信协议类的设计与实现 205

8.2.1网络通信协议的设计 205

8.2.2各种数据类型的详细格式 206

8.2.3网络通信协议的实现 207

8.3交互界面的设计与实现 207

8.3.1控制菜单的设计 208

8.3.2控制菜单的实现 208

8.3.3网络设置对话框的设计 211

8.3.4网络设置对话框的实现 212

8.4总结 214

第9章 五子棋游戏的核心算法设计与实现(教学视频:60分钟) 215

9.1棋盘窗口类的设计与实现 215

9.1.1棋盘窗口类的设计思想 215

9.1.2棋盘类的实现 216

9.2网络交互的设计与实现 222

9.2.1网络交互的设计思想 222

9.2.2网络交互的算法实现 223

9.3游戏规则的设计与实现 225

9.3.1游戏规则的设计思想 225

9.3.2游戏规则的算法实现 226

9.4游戏中主对话框类的实现 230

9.5总结 235

第10章 五子棋游戏整合测试(教学视频:5分钟) 236

10.1五子棋游戏的测试用例文档编写 236

10.1.1引言 236

10.1.2文档范围 237

10.1.3使用对象 237

10.1.4参考文献 237

10.1.5相关术语与缩略语解释 237

10.1.6测试项目 237

10.2根据用例文档进行测试 242

10.2.1网络连接测试的演示 242

10.2.2游戏互动测试的演示 244

10.2.3输赢结果测试的演示 245

10.2.4禁手功能测试的演示 245

10.2.5综合测试结果 246

10.3总结 246

第3篇 其他游戏开发案例 248

第11章 贪吃蛇游戏项目开发(教学视频:65分钟) 248

11.1贪吃蛇游戏项目的需求分析 248

11.1.1获得客户需求的语言描述 248

11.1.2对语言描述进行需求分析 249

11.2贪吃蛇游戏概要设计 251

11.3贪吃蛇游戏操作界面及测试用例设计 252

11.3.1游戏操作界面设计文档 253

11.3.2测试用例文档 254

11.4贪吃蛇游戏的详细设计 260

11.4.1游戏各功能的设计描述 260

11.4.2游戏各功能的流程图 261

11.5贪吃蛇游戏界面的实现 262

11.5.1游戏菜单的实现 262

11.5.2游戏帮助的实现 266

11.5.3“英雄榜”的实现 268

11.5.4游戏背景音乐播放的实现 272

11.6贪吃蛇游戏核心算法的设计与实现 272

11.6.1主游戏类的设计 272

11.6.2主游戏类的实现 273

11.6.3游戏规则类的设计 280

11.6.4游戏规则类的实现 280

11.7贪吃蛇游戏的整合测试 281

11.7.1游戏等级测试的演示 281

11.7.2游戏主界面显示功能测试的演示 282

11.7.3贪吃蛇移动功能测试的演示 282

11.7.4贪吃蛇游戏规则测试的演示 283

11.7.5贪吃蛇游戏分数统计测试的演示 283

11.8总结 284

第12章 俄罗斯方块游戏项目开发(教学视频:41分钟) 285

12.1俄罗斯方块游戏项目的需求分析 285

12.1.1获得客户需求的语言描述 285

12.1.2对语言描述进行需求分析 286

12.2俄罗斯方块游戏概要设计 288

12.3俄罗斯方块游戏操作界面及测试用例设计 289

12.3.1游戏操作界面设计文档 290

12.3.2测试用例文档 291

12.4俄罗斯方块游戏的详细设计 297

12.4.1游戏各功能的设计描述 298

12.4.2游戏的各功能流程图 299

12.5俄罗斯方块游戏的界面实现 299

12.5.1游戏菜单的实现 299

12.5.2游戏帮助对话框的实现 302

12.5.3游戏英雄榜对话框的实现 304

12.5.4游戏播放背景音乐的实现 307

12.5.5游戏等级设置对话框的实现 308

12.6俄罗斯方块游戏的核心算法设计与实现 310

12.6.1主游戏类的设计 310

12.6.2主游戏类的实现 311

12.6.3游戏规则类的设计 322

12.6.4游戏规则类的实现 322

12.7俄罗斯方块游戏的整合测试 324

12.7.1主菜单和界面显示功能测试的演示 324

12.7.2游戏等级选择功能测试的演示 324

12.7.3方块移动功能测试的演示 325

12.7.4游戏规则功能测试的演示 325

12.7.5游戏帮助功能测试的演示 326

12.7.6游戏计分功能测试的演示 326

12.8总结 327

第13章 连连看游戏项目开发(教学视频:49分钟) 328

13.1连连看游戏项目的需求分析 328

13.1.1获得客户需求的语言描述 328

13.1.2对语言描述进行需求分析 329

13.2连连看游戏项目概要设计 331

13.3连连看游戏操作界面及测试用例设计 332

13.3.1游戏操作界面设计文档 332

13.3.2测试用例文档 333

13.4连连看游戏的详细设计 339

13.4.1游戏各功能的设计描述 339

13.4.2游戏各功能流程图 340

13.5连连看游戏的界面实现 341

13.5.1游戏菜单的实现 341

13.5.2游戏帮助对话框的实现 343

13.5.3游戏英雄榜对话框的实现 345

13.5.4游戏播放背景音乐的实现 347

13.6连连看游戏的核心算法设计与实现 348

13.6.1主对话框类的设计 348

13.6.2主对话框类的实现 349

13.6.3棋子类的设计 357

13.6.4棋子类的实现 358

13.7连连看游戏的整合测试 368

13.7.1主菜单和界面显示功能测试的演示 368

13.7.2消除相同棋子功能测试的演示 368

13.7.3游戏升级功能测试的演示 369

13.7.4消除提示功能测试的演示 370

13.7.5游戏帮助功能测试的演示 370

13.7.6棋子换盘功能测试的演示 370

13.8总结 371

第14章 黑白棋游戏项目开发(教学视频:51分钟) 372

14.1黑白棋游戏项目的需求分析 372

14.1.1获得客户需求的语言描述 372

14.1.2对语言描述进行需求分析 373

14.2黑白棋游戏概要设计 375

14.3黑白棋游戏操作界面及测试用例设计 376

14.3.1游戏操作界面设计文档 376

14.3.2测试用例文档 377

14.4黑白棋游戏的界面实现 382

14.4.1游戏菜单的实现 382

14.4.2游戏帮助对话框的实现 385

14.4.3游戏播放背景音乐的实现 386

14.5黑白棋游戏的核心算法设计与实现 387

14.5.1棋盘窗口类的设计 387

14.5.2棋盘窗口类的实现 388

14.5.3人工智能模块的设计 393

14.5.4人工智能模块的实现 395

14.6黑白棋游戏的整合测试 406

14.6.1主菜单和界面显示功能测试的演示 406

14.6.2悔棋功能测试的演示 406

14.6.3棋子动画翻转功能测试的演示 407

14.6.4游戏胜负判断功能测试的演示 408

14.6.5游戏帮助功能测试的演示 408

14.7总结 409

第15章 扫雷游戏项目开发(教学视频:52分钟) 410

15.1扫雷游戏项目的需求分析 410

15.1.1获得客户需求的语言描述 410

15.1.2对语言描述进行需求分析 411

15.2扫雷游戏概要设计 412

15.3扫雷游戏操作界面及测试用例设计 414

15.3.1游戏操作界面设计文档 414

15.3.2测试用例文档 415

15.4扫雷游戏的界面实现 419

15.4.1游戏菜单的实现 419

15.4.2游戏帮助对话框的实现 421

15.4.3游戏英雄榜对话框的实现 423

15.4.4游戏播放背景音乐的实现 425

15.5扫雷游戏的核心算法设计与实现 426

15.5.1新游戏处理模块的设计与实现 426

15.5.2地雷格子模块的设计与实现 428

15.5.3游戏规则模块的设计与实现 430

15.5.4游戏绘图模块的设计与实现 432

15.5.5玩家输入模块的设计与实现 433

15.6扫雷游戏的整合测试 435

15.6.1主菜单和界面显示功能的测试演示 435

15.6.2鼠标输入功能的测试演示 436

15.6.3标示指定格子功能的测试演示 436

15.6.4游戏胜负判断功能的测试演示 437

15.6.5游戏帮助功能的测试演示 437

15.7总结 438

第16章 推箱子游戏项目开发(教学视频:44分钟) 439

16.1推箱子游戏项目的需求分析 439

16.1.1获得客户需求的语言描述 439

16.1.2对语言描述进行需求分析 440

16.2推箱子游戏概要设计 441

16.3推箱子游戏操作界面及测试用例设计 443

16.3.1游戏操作界面设计文档 444

16.3.2测试用例文档 445

16.4推箱子游戏的界面实现 450

16.4.1游戏菜单的实现 450

16.4.2游戏帮助对话框的实现 452

16.4.3游戏关口选择对话框的实现 454

16.4.4游戏播放背景音乐的实现 456

16.5推箱子游戏的核心算法设计与实现 456

16.5.1地图文件读取模块的设计与实现 457

16.5.2地图绘制模块的设计与实现 457

16.5.3键盘操作模块的设计与实现 460

16.5.4游戏规则模块的设计与实现 463

16.5.5主对话框的设计与实现 464

16.6推箱子游戏的整合测试 465

16.6.1主菜单和界面显示功能的测试演示 465

16.6.2键盘操作功能的测试演示 466

16.6.3箱子放置到指定位置时变色显示功能的测试演示 466

16.6.4支持地图扩展功能的测试演示 467

16.6.5游戏胜负判断功能的测试演示 467

16.6.6游戏帮助功能的测试演示 468

16.7总结 468