《游戏编程All in One》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:(美)Bruno Miguel Teixeira de Sousa著;文俊浩,黄际洲,吴红艳译
  • 出 版 社:重庆:重庆大学出版社
  • 出版年份:2005
  • ISBN:7562433755
  • 页数:662 页
图书介绍:本书是为游戏编程初学者所写的一本游戏宝典,内容包括了游戏编程的几乎所有方面,如C++语言、算法、数据结构、游戏编程以及DirectX等等。学习本书不需要任何C++或编程基础,读者可以从本书的开始章节学习基础的C++直到最后进入游戏编程。通过本书的学习,将会为游戏编程打下坚实的基础。在此基础上,继续学习的话就完全可以参加像QUAKE或HALO的编程了。

目录 3

第1部分 C++编程 3

第1章 C++程序设计 3

选用C++的原因 4

设置Visual C++ 4

第1个程序:“Hello all you happy people” 8

C++程序的结构 10

注释 12

捕获错误 13

警告 15

总结 16

问与答 17

练习 17

第2章 变量和运算符 19

变量和存储器 20

C++中变量的类型 21

在程序中使用变量 23

变量修饰符 25

类型重定义 27

变量命名 27

运算符 28

按位移运算符 32

关系运算符 32

条件运算符 33

逻辑运算符 34

运算符优先级 34

总结 36

问与答 36

练习 37

第3章 函数和程序流 38

函数的定义和用途 39

创建和使用函数 41

缺省参数 43

变量作用域 45

递归 48

函数使用要点 49

代码块和语句 50

if,else if,else语句 50

程序流 50

while,do...while以及for循环 52

Breaking和Continuing 56

switch 58

随机化 60

第一个游戏:“craps” 63

总结 69

问与答 69

练习 69

第4章 多文件和预处理器 71

源文件和头文件的区别 72

处理多文件 72

预处理器 74

避免重复包含 75

宏 77

其他预处理指令 78

总结 78

练习 78

第5章 数组、指针和字符串 79

声明和使用数组 80

数组的定义 80

多维数组 83

指针的定义 86

指针和变量 86

指针和数组 88

声明指针和为指针分配内存 90

指针运算符 92

操作内存 95

字符串 96

问与答 109

总结 109

练习 110

第6章 类 111

类的定义 112

创建类 113

类的使用 114

私有、保护以及公有成员 115

构造函数和析构函数 117

运算符重载 119

字符串类 120

继承和多态 125

枚举 131

联合体 132

静态成员 133

使用类的一些有用技术 133

总结 140

问与答 140

练习 140

第7章 开发Monster游戏 142

conlib 143

创建Monster游戏 154

总结 175

第8章 流 176

流的定义 177

二进制流和文本流 177

输入和输出 178

ostream 181

文件流 182

修改Monster游戏来实现保存和加载游戏 194

总结 199

问与答 199

练习 200

第9章 软件体系结构简介 201

软件设计的重要性 202

设计方法 202

一些基本的技术 204

模块和多文件 207

命名惯例 208

常识战胜规则 210

本书所使用的设计 210

总结 211

问与答 211

练习 212

第2部分 Windows编程 215

第10章 设计游戏库Mirus 215

概述 216

Mirus组件 216

窗口组件 217

帮助组件 217

图形组件 218

声音组件 220

输入组件 221

创建帮助组件 221

创建错误信息文件的方法 226

Mirus的使用方法 227

总结 227

问与答 228

第11章 Windows程序设计 229

Windows的历史 230

Windows编程简介 231

Visual C++和Windows应用程序 233

创建Windows应用程序 233

创建实时消息循环 242

创建可重用的窗口类 246

使用Mirus窗口框架 252

常用的窗口函数 253

总结 255

显示 255

问与答 256

练习 256

第12章 DirectX简介 257

什么是DirectX 258

DirectX简史 258

为什么要使用DirectX 259

DirectX组件 260

DirectX的工作过程 261

如何在Visual C++环境下使用DirectX 263

总结 265

问与答 265

练习 265

第13章 DirectX Graphics 266

要用到的接口 267

Direct3D初步 268

表面、缓冲区和交换链 278

渲染表面 280

顶点、多边形与纹理 285

从三维到二维 287

Windows位图 294

全屏及其他位模式 296

色彩理论与关键色 297

targa文件 300

动画与模板集 301

碰撞检测 302

2D图像处理 305

2D图元揭密 308

开发Mirus 312

问与答 369

总结 369

练习 370

第14章 DirectInput 371

DirectInput简介 372

mrInputManager 373

mrKeyboard 375

mrMouse 385

mrJoystick 395

问与答 403

练习 403

总结 403

第15章 DirectSound 404

声音原理 405

DirectSound简介 406

mrSoundPlayer 407

mrSound 410

媒体控制接口 418

mrCDPlayer 418

练习 423

问与答 423

总结 423

第3部分 核心游戏编程 426

第16章 游戏设计简介 426

什么是游戏设计 427

令人厌烦的设计文档 428

“游戏在我心里”的方法为什么不好 428

两种设计类型 429

填写一份设计文档模板 430

一个游戏设计样本:宇宙侵略者 431

问与答 434

总结 434

练习 435

第17章 数据结构和算法 436

数据结构和算法的重要性 437

链表 438

树 447

广义树 449

二叉搜索树 454

数据排序 464

快速排序 466

压缩 470

RLE压缩 471

总结 472

问与答 472

练习 473

第18章 游戏的数学基础 474

三角学 475

矢量 478

矩阵 485

概率 492

函数 493

总结 495

问与答 495

练习 496

第19章 人工智能简介 497

人工智能的几个领域 498

确定性算法 503

有限状态机 507

模糊逻辑 509

一个简单的记忆方法 511

人工智能和游戏 512

总结 512

问与答 513

练习 513

第20章 物理建模简介 514

物理学简介 515

创建物理引擎 515

基本物理概念 517

力 522

引力作用 526

摩擦力 530

处理碰撞 534

模拟 538

粒子系统 545

总结 558

问与答 558

练习 558

第21章 创建打砖块游戏 559

设计打砖块游戏 560

创建打砖块游戏 565

结论 601

第22章 出版游戏 602

评估游戏出版价值 603

该去敲哪个出版商的门 604

学会正确的敲门方法 604

合同 605

重要事件 606

访谈 607

没有出版商,该怎么办 607

André LaMothe:Xtreme Games LLC 609

总结 610

参考网站 610

结论 611

第4部分 附录 615

附录A 光盘内容简介 615

源代码 616

工具软件 617

Microsoft DirectX 8.0 SDK 617

游戏 618

附录B 在Visual C++中调试程序 619

断点和执行过程控制 620

运行期间修改变量 621

观察变量 622

附录C 二进制、十六进制和十进制系统 623

二进制 624

十六进制 624

十进制 624

附录D C语言基础 626

标准输入输出 627

文件输入输出 628

结构体 630

动态分配内存 630

附录E 练习答案 632

第1章 633

第2章 633

第3章 633

第6章 634

第8章 634

第4章 634

第5章 634

第9章 635

第11章 635

第12章 635

第13章 635

第16章 636

第17章 636

第15章 636

第14章 636

第18章 637

第19章 637

第20章 637

附录F C++关键字 639

附录G 常用表 641

ASCII表 642

积分表 646

微分表 646

惯性公式表 647

附录H 更多的资源 648

游戏开发和游戏编程 649

新闻、评论和下载站点 649

引擎 650

自主游戏开发者 650

产业 651

计算机幽默 651

书籍 651

术语表 653

Symbols符号 654