《Visual C++游戏开发经典案例详解》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:王浩等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302220565
  • 页数:508 页
图书介绍:本书分为16章,其中第1~6章是讲解游戏项目开发应该具有的准备知识;第7~10章把《五子棋》游戏进行详细讲解;第11~16章详细讲解了《贪吃蛇》、《俄罗斯方块》等多款游戏的设计、项目文档编写及实例开发。

第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 即时战略游戏 8

1.1.6 格斗游戏 8

1.1.7 射击游戏 8

1.1.8 第一人称射击游戏 9

1.1.9 益智游戏 10

1.1.10 竞速游戏 10

1.1.11 体育游戏 10

1.1.12 养成游戏 11

1.1.13 模拟游戏 11

1.1.14 卡片游戏 12

1.1.15 音乐游戏 12

1.2 游戏开发技术 13

1.2.1 图像显示技术 13

1.2.2 游戏引擎技术 16

1.2.3 游戏脚本技术 18

1.3 总结 20

第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++开发工具的主界面 30

2.5.2 使用向导创建项目 30

2.5.3 创建一个Hello World程序 31

2.5.4 工程文件的配置 34

2.6 总结 35

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

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

3.1.1 C++语言有由来 38

3.1.2 C++语言的特点 38

3.2 C++中的各种字符 38

3.2.1 标识符与关键字 39

3.2.2 分隔符与注释符 39

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

3.3.1 整数型数据 41

3.3.2 实数型数据 43

3.3.3 字符型数据 44

3.3.4 布尔型数据 46

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

3.4.1 变量的定义 47

3.4.2 常量的定义 48

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

3.5.1 赋值运算符 49

3.5.2 算术运算符 49

3.5.3 自增与自减运算符 52

3.5.4 复合运算符 52

3.5.5 位运算符 53

3.5.6 关系运算符 55

3.6 C++中的控制语句 56

3.6.1 基本语句 56

3.6.2 条件选择语句 57

3.6.3 循环语句 62

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

3.7.1 数组的定义与操作 65

3.7.2 指针的定义与操作 67

3.7.3 引用的定义与操作 70

3.8 函数 72

3.8.1 使用函数的好处 72

3.8.2 函数的定义及声明 72

3.8.3 认识函数的参数 73

3.8.4 函数的调用及返回值 74

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

3.9.1 C++的优点 76

3.9.2 定义C++类 77

3.9.3 成员变量 78

3.9.4 成员函数 79

3.9.5 构造函数 79

3.9.6 析构函数 80

3.9.7 虚函数 80

3.10 运算符的重载 82

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

3.11.1 命名规范 84

3.11.2 格式规范 86

3.11.3 函数规范 87

3.11.4 其他规范 89

3.12 总结 89

3.13 挑战 89

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

4.1 TCP/IP简介 91

4.1.1 TCP/IP整体构架概述 91

4.1.2 OSI与TCP/IP协议 92

4.1.3 TCP/IP协议的应用 94

4.1.4 TCP/IP协议的特性 94

4.2 TCP/IP中的各种协议 95

4.2.1 IP协议 95

4.2.2 TCP协议 97

4.2.3 UDP协议 98

4.2.4 ICMP协议 98

4.3 Socket简介 98

4.3.1 什么是Sockets 99

4.3.2 Socket网络通信模式 99

4.3.3 Socket的函数 99

4.3.4 Socket的使用示例 104

4.4 Windows CSockets类的介绍及使用 107

4.4.1 CAsyncSocket和CSocket类的介绍 107

4.4.2 阻塞和非阻塞模式 107

4.4.3 类的成员函数介绍 108

4.4.4 CAsyncSocket和CSocket类的编程模型 112

4.5 CAsyncSocket类综合应用 113

4.5.1 服务器端设计 113

4.5.2 客户端设计 121

4.5.3 综合测试 125

4.6 总结 126

4.7 挑战 126

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

5.1 游戏的多媒体 128

5.1.1 多媒体的概念 128

5.1.2 多媒体技术的特点 129

5.1.3 多媒体能做什么 129

5.2 认识各种多媒体文件 130

5.2.1 Windows中的文本文件 130

5.2.2 Windows中的图像文件 131

5.2.3 Windows中的声音文件 132

5.2.4 Windows中的视频文件 133

5.3 游戏中图像的显示 135

5.3.1 使用Pictrue控件显示图像 135

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

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

5.4 游戏中音乐的播放 144

5.5 游戏中的互动 147

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

5.5.2 键盘消息响应 148

5.5.3 鼠标消息响应 151

5.6 两个入门小实例 158

5.6.1 简单的MP3播放器 158

5.6.2 简单的图片浏览器 166

5.7 总结 174

5.8 挑战 174

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

6.1 项目管理 176

6.1.1 项目与项目管理概念 176

6.1.2 项目管理的特点 176

6.1.3 采用项目管理的优势 177

6.2 软件工程与项目管理 178

6.2.1 软件工程的概念 178

6.2.2 软件工程的重要性 179

6.2.3 软件工程管理的流程 181

6.3 需求分析 183

6.3.1 什么是需求分析 183

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

6.3.3 需求分析的方法 184

6.3.4 需求分析的20条法则 184

6.3.5 深入获得用户的需求 188

6.3.6 可行性分析 188

6.3.7 成本效益分析 189

6.3.8 确定开发环境 190

6.4 项目计划安排 191

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

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

6.5 总体设计 193

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

6.5.2 总体设计的过程 193

6.6 详细设计的工具 193

6.6.1 程序流程图 193

6.6.2 N_S图 194

6.6.3 Jackson方法 195

6.7 软件测试 197

6.7.1 软件测试的目标 197

6.7.2 黑盒与白盒测试 198

6.7.3 软件测试的步骤 198

6.7.4 设计测试方案 199

6.8 软件维护 199

6.8.1 软件维护的概念 200

6.8.2 软件项目的可维护性 200

6.9 总结 200

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

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

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

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

7.2.1 需求分析 206

7.2.2 可行性分析 207

7.3 五子棋项目计划安排 209

7.4 制作五子棋游戏的概要设计文档 210

7.5 五子棋游戏的操作界面设计文档 214

7.6 总结 215

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

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

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

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

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

8.2.1 网络通信协议的设计 218

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

8.2.3 网络通信协议的实现 220

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

8.3.1 控制菜单的设计 220

8.3.2 控制菜单的实现 221

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

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

8.4 总结 227

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

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

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

9.1.2 棋盘类的实现 229

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

9.2.1 网络交互的设计思想 235

9.2.2 网络交互的算法实现 236

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

9.3.1 游戏规则的设计思想 237

9.3.2 游戏规则的算法实现 238

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

9.5 总结 248

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

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

10.1.1 引言 249

10.1.2 文档范围 250

10.1.3 使用对象 250

10.1.4 参考文献 250

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

10.1.6 测试环境 250

10.1.7 测试项目 251

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

10.2.1 网络连接测试的演示 255

10.2.2 游戏互动测试的演示 257

10.2.3 输赢结果测试的演示 258

10.2.4 禁手功能测试的演示 258

10.2.5 综合测试结果 259

10.3 总结 259

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

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

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

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

11.1.2 可行性分析 263

11.1.3 对语言描述进行需求分析 265

11.1.4 与用户确定需求文档 267

11.2 贪吃蛇游戏项目计划安排及概要设计 267

11.2.1 制定开发计划 267

11.2.2 制作概要设计文档 268

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

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

11.3.2 测试用例文档 271

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

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

11.4.2 游戏各功能的流程图 279

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

11.5.1 游戏菜单的实现 279

11.5.2 游戏帮助的实现 285

11.5.3 “英雄榜”的实现 287

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

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

11.6.1 主游戏类的设计 291

11.6.2 主游戏类的实现 291

11.6.3 游戏规则类的设计 298

11.6.4 游戏规则类的实现 298

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

11.7.1 游戏等级测试的演示 299

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

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

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

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

11.8 总结 302

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

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

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

12.1.2 可行性分析 304

12.1.3 对语言描述进行需求分析 306

12.2 俄罗斯方块游戏项目计划安排及概要设计 308

12.2.1 制定开发计划 308

12.2.2 制作概要设计文档 309

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

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

12.3.2 测试用例文档 313

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

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

12.4.2 游戏的各功能流程图 321

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

12.5.1 游戏菜单的实现 322

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

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

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

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

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

12.6.1 主游戏类的设计 333

12.6.2 主游戏类的实现 334

12.6.3 游戏规则类的设计 344

12.6.4 游戏规则类的实现 344

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

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

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

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

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

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

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

12.8 总结 350

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

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

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

13.1.2 可行性分析 352

13.1.3 对语言描述进行需求分析 354

13.2 连连看游戏项目计划安排及概要设计 356

13.2.1 制定开发计划 356

13.2.2 制作概要设计文档 357

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

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

13.3.2 测试用例文档 361

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

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

13.4.2 游戏各功能流程图 368

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

13.5.1 游戏菜单的实现 369

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

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

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

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

13.6.1 主对话框类的设计 376

13.6.2 主对话框类的实现 377

13.6.3 棋子类的设计 385

13.6.4 棋子类的实现 386

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

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

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

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

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

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

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

13.8 总结 398

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

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

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

14.1.2 可行性分析 400

14.1.3 对语言描述进行需求分析 402

14.2 黑白棋游戏项目计划安排及概要设计 404

14.2.1 制定开发计划 404

14.2.2 制作概要设计文档 405

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

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

14.3.2 测试用例文档 408

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

14.4.1 游戏菜单的实现 414

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

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

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

14.5.1 棋盘窗口类的设计 418

14.5.2 棋盘窗口类的实现 419

14.5.3 人工智能模块的设计 425

14.5.4 人工智能模块的实现 426

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

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

14.6.2 悔棋功能测试的演示 438

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

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

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

14.7 总结 440

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

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

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

15.1.2 可行性分析 442

15.1.3 对语言描述进行需求分析 444

15.2 扫雷游戏项目计划安排及概要设计 445

15.2.1 制定开发计划 445

15.2.2 制作概要设计文档 447

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

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

15.3.2 测试用例文档 450

15.4 扫雷游戏的界面实现 455

15.4.1 游戏菜单的实现 455

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

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

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

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

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

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

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

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

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

15.6 扫雷游戏的整合测试 471

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

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

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

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

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

15.7 总结 474

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

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

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

16.1.2 可行性分析 476

16.1.3 对语言描述进行需求分析 478

16.2 推箱子游戏项目计划安排及概要设计 479

16.2.1 制定开发计划 479

16.2.2 制作概要设计文档 481

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

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

16.3.2 测试用例文档 485

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

16.4.1 游戏菜单的实现 490

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

16.7 总结 508