图书介绍

C++游戏编程入门教程2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

C++游戏编程入门教程
  • (美)Michael Dawson著;徐刚,薛雷,于健译 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:7115137315
  • 出版时间:2006
  • 标注页数:296页
  • 文件大小:23MB
  • 文件页数:317页
  • 主题词:C语言-程序设计-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

C++游戏编程入门教程PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

1.1 C++简介1

1.1.1 将C++用于游戏1

第1章 类型、变量和标准I/O:Lost Fortune1

1.1.2 创建可执行文件2

1.1.3 处理错误3

1.1.4 了解ISO标准4

1.2 编写第一个C++程序4

1.2.1 Game Over程序简介4

1.2.2 为代码添加注释5

1.2.3 使用空白5

1.2.4 包括其他文件6

1.2.5 定义main()函数6

1.2.6 通过标准输出显示文本6

1.2.8 从main()返回一个值7

1.2.7 结束语句7

1.3 使用std名称空间8

1.3.1 Game Over 2.0程序简介8

1.3.2 使用using指令8

1.3.3 Game Over 3.0程序简介9

1.3.4 使用using声明9

1.3.5 何时使用using9

1.4 使用算术操作符10

1.4.1 Expensive Calculator程序简介10

1.4.2 加法、减法和乘法11

1.4.3 整数除法和浮点数除法11

1.5.1 Game Stats程序简介12

1.5 声明和初始化变量12

1.4.5 操作的顺序12

1.4.4 使用模操作符12

1.5.2 基本类型14

1.5.3 类型修饰符14

1.5.4 声明变量15

1.5.5 命名变量15

1.5.6 向变量赋值16

1.5.7 初始化变量17

1.5.8 显示变量值17

1.5.9 获得用户输入18

1.5.10 为类型定义新名称18

1.5.11 使用哪一种类型18

1.6.1 Game Stats 2.0程序简介19

1.6 使用变量执行算术运算19

1.6.2 改变变量的值20

1.6.3 使用组合赋值操作符20

1.6.4 使用加1和减1操作符21

1.6.5 处理整型数环绕22

1.7 使用常量22

1.7.1 Game Stats 3.0程序简介23

1.7.2 使用常量24

1.7.3 使用枚举24

1.8 Lost Fortune简介25

1.8.1 准备程序26

1.8.2 从玩家那里获取信息26

1.9 小结27

1.8.3 讲故事27

1.10 问题与答案28

1.11 讨论题29

1.12 练习题30

第2章 事实、分支和游戏循环:Guess My Number31

2.1 理解事实31

2.2 使用if语句32

2.2.1 Score Rater程序简介32

2.2.2 测试true和false34

2.2.3 将值解释为true或false34

2.2.4 使用关系操作符35

2.2.5 嵌套if语句35

2.3.1 Score Rater2.0程序简介36

2.3 使用else子句36

2.3.2 创建两个分支路径37

2.3.3 使else子句与正确的if语句配对38

2.4 使用switch语句39

2.4.1 Menu Chooser程序简介39

2.4.2 创建多个分支路径41

2.5 使用while循环41

2.5.1 Play Again程序简介41

2.5.2 使用while循环实现循环42

2.6 使用do循环42

2.6.1 Play Again 2.0程序简介43

2.7 使用break和continue语句44

2.7.1 Finicky Counter程序简介44

2.6.2 使用do循环实现循环44

2.7.2 创建while(true)循环45

2.7.3 使用break语句退出循环46

2.7.4 使用continue语句跳回循环顶部46

2.7.5 何时使用break和continue46

2.8 使用逻辑操作符46

2.8.1 Designers Network程序简介47

2.8.2 使用逻辑与操作符49

2.8.3 使用逻辑或操作符50

2.8.4 使用逻辑非操作符50

2.8.5 操作符的顺序51

2.9 生成随机数51

2.9.2 调用rand()函数52

2.9.1 Die Roller程序简介52

2.9.3 生成随机数生成器种子53

2.9.4 计算某个范围内的数字54

2.10 游戏循环54

2.11 Guess My Number简介55

2.11.1 应用游戏循环56

2.11.2 开始游戏57

2.11.3 创建猜测循环57

2.11.4 结束游戏58

2.12 小结58

2.13 问题与答案59

2.14 讨论题60

2.15 练习题60

3.1 使用for循环61

第3章 for循环、字符串和数组:Word Jumble61

3.1.1 Counter程序简介62

3.1.2 使用for循环计数63

3.1.3 在for循环中使用空语句64

3.1.4 嵌套for循环64

3.2 对象65

3.3 使用string对象66

3.3.1 String Tester程序简介67

3.3.2 创建string对象68

3.3.3 串联string对象68

3.3.4 使用size()成员函数69

3.3.5 索引string对象69

3.3.7 使用find()成员函数70

3.3.6 遍历string对象70

3.3.8 使用erase()成员函数71

3.3.9 使用empty()成员函数71

3.4 使用数组72

3.4.1 Hero's Inventory程序简介72

3.4.2 创建数组73

3.4.3 索引数组74

3.4.4 访问数组元素的成员函数75

3.4.5 注意数组边界75

3.5 C风格的字符串76

3.6 使用多维数组77

3.6.1 Tic-Tac-Toe Board程序简介77

3.6.2 创建多维数组78

3.7 Word Jumble简介79

3.6.3 索引多维数组79

3.7.2 挑选要打乱的单词80

3.7.1 开始程序80

3.7.3 打乱单词81

3.7.4 欢迎玩家81

3.7.5 进入游戏循环82

3.7.6 说再见82

3.8 小结82

3.9 问题与答案83

3.10 讨论题84

3.11 练习题85

第4章 标准模板库:Hangman86

4.1 标准模板库简介86

4.2.1 Hero's Inventory 2.0程序简介87

4.2 使用矢量87

4.2.2 准备使用矢量89

4.2.3 声明矢量89

4.2.4 使用push_back()成员函数89

4.2.5 使用size()成员函数90

4.2.6 索引矢量90

4.2.7 调用元素的成员函数91

4.2.8 使用pop_back()成员函数91

4.2.9 使用clear()成员函数91

4.2.10 使用empty()成员函数91

4.3 使用迭代器92

4.3.1 Hero's Inventory 3.0程序简介92

4.3.2 声明迭代器93

4.3.3 遍历矢量94

4.3.4 更改矢量元素的值96

4.3.5 访问矢量元素的成员函数96

4.3.6 使用insert()矢量成员函数97

4.3.7 使用erase()矢量成员函数97

4.4 使用算法98

4.4.1 High Scores程序简介98

4.4.2 准备使用算法100

4.4.3 使用random_shuffle()算法100

4.4.4 使用sort()算法100

4.4.5 使用merge()算法101

4.5.1 了解矢量的扩大102

4.5 了解矢量性能102

4.5.2 了解元素插入和删除103

4.6 了解其他STL容器104

4.7 规划程序104

4.7.1 使用伪代码105

4.7.2 使用逐步求精方法105

4.8 Hangman简介106

4.8.1 设计游戏106

4.8.2 开始程序107

4.8.3 初始化变量和常量107

4.8.4 进入主循环108

4.8.5 获得玩家的猜测108

4.9 小结109

4.8.6 结束游戏109

4.10 问题与答案110

4.11 讨论题111

4.12 练习题111

第5章 函数:Mad Lib112

5.1 创建函数112

5.1.1 Instructions程序简介112

5.1.2 声明函数113

5.1.3 定义函数114

5.1.4 调用函数114

5.1.5 抽象115

5.2 使用参数和返回值115

5.2.1 Yes or No程序简介115

5.2.3 使用参数接受值117

5.2.2 返回一个值117

5.2.4 封装119

5.3 软件重用119

5.4 了解范围120

5.4.1 Scoping程序简介120

5.4.2 处理独立的范围121

5.4.3 使用嵌套的范围122

5.5 使用全局变量123

5.5.1 Global Reach程序简介123

5.5.2 声明全局变量125

5.5.3 访问全局变量125

5.5.4 隐藏全局变量125

5.5.6 尽可能少使用全局变量126

5.6 使用全局常量126

5.5.5 改变全局变量126

5.7 使用默认参数127

5.7.1 Give Me a Number程序简介127

5.7.2 指定默认参数128

5.7.3 将默认参数赋给参数129

5.7.4 覆盖默认参数129

5.8 重载函数130

5.8.1 Triple程序简介130

5.8.2 创建重载的函数131

5.8.3 调用重载的函数132

5.9 内联函数132

5.9.1 Taking Damage程序简介132

5.9.2 指定函数将要内联133

5.9.3 调用内联的函数134

5.10 Mad Lib游戏简介134

5.10.1 开始程序134

5.10.2 main()函数135

5.10.3 askText()函数136

5.10.4 askNumber()函数136

5.10.5 tellStory()函数136

5.11 小结137

5.12 问题与答案138

5.13 讨论题139

5.14 练习题139

6.1.1 Referencing程序简介140

6.1 使用引用140

第6章 引用:Tic-Tac-Toe140

6.1.2 创建引用141

6.1.3 访问引用的值142

6.1.4 更改引用的值142

6.2 传递引用以更改参数143

6.2.1 Swap程序简介143

6.2.2 按值传递145

6.2.3 按引用传递145

6.3 传递引用以提高效率146

6.3.1 Inventory Displayer程序简介146

6.3.2 了解引用传递的缺点147

6.3.3 将参数声明为常量引用147

6.4 决定如何传递参数148

6.3.4 传递常量引用148

6.5 返回引用149

6.5.1 Inventory Reference程序简介149

6.5.2 返回一个引用150

6.5.3 显示返回的引用的值151

6.5.4 将返回的引用赋给另一个引用151

6.5.5 将返回的引用赋给变量151

6.5.6 通过返回的引用更改对象152

6.6 Tic-Tac-Toe游戏简介152

6.6.1 规划游戏153

6.6.2 开始程序155

6.6.3 main()函数156

6.6.4 Instruction()函数156

6.6.6 askNumber()函数157

6.6.5 askYesNo()函数157

6.6.7 humanPiece()函数158

6.6.8 opponent()函数158

6.6.9 displayBoard()函数158

6.6.10 winner()函数159

6.6.11 isLegal()函数160

6.6.12 humanMove()函数160

6.6.13 computerMove()函数161

6.6.14 announceWinner()函数163

6.7 小结163

6.8 问题与答案164

6.9 讨论题165

6.10 练习题166

7.1 指针基础知识167

第7章 指针:Tic-Tac-Toe 2.0167

7.1.1 Pointing程序简介168

7.1.2 声明指针169

7.1.3 初始化指针170

7.1.4 将地址赋给指针170

7.1.5 解除指针的引用171

7.1.6 重新为指针赋值172

7.1.7 使用对象指针172

7.2 指针和常量173

7.2.1 使用常量指针173

7.2.2 使用指向常量的指针174

7.2.3 使用指向常量的常量指针175

7.2.4 总结常量和指针175

7.3.1 Swap Pointer Version程序简介176

7.3 传递指针176

7.3.2 按值传递177

7.3.3 传递常量指针178

7.4 返回指针179

7.4.1 Inventory Pointer程序简介179

7.4.2 返回指针180

7.4.3 使用返回的指针显示值181

7.4.4 将返回的指针赋给另一个指针181

7.4.5 将返回的指针指向的值赋给变量182

7.4.6 通过返回的指针改变对象183

7.5 理解指针与数组之间的关系183

7.5.1 Array Passer程序简介183

7.5.3 传递和返回数组185

7.5.2 使用数组名称作为常量指针185

7.6 Tic-Tac-Toe 2.0游戏简介186

7.7 小结187

7.8 问题与答案188

7.9 讨论题189

7.10 练习题189

第8章 类:Critter Caretaker190

8.1 定义新类型190

8.1.1 Simple Critter程序简介190

8.1.2 定义类192

8.1.3 定义成员函数193

8.1.4 实例化对象193

8.1.5 访问数据成员193

8.2.1 Constructor Critter程序简介194

8.1.6 调用成员函数194

8.2 使用构造函数194

8.2.2 声明和定义构造函数196

8.2.3 自动调用构造函数197

8.3 设置成员访问级别197

8.3.1 Private Critter程序简介197

8.3.2 指定公共和私有访问级别199

8.3.3 定义访问器成员函数199

8.3.4 定义常量成员函数200

8.4 使用静态数据成员和成员函数201

8.4.1 Static Critter程序简介201

8.4.2 声明和初始化静态数据成员202

8.4.4 定义静态成员函数203

8.4.3 访问静态数据成员203

8.4.5 调用静态成员函数204

8.5 Critter Caretaker游戏简介204

8.5.1 设计游戏204

8.5.2 设计伪代码206

8.5.3 Critter类206

8.5.4 main()函数208

8.6 小结209

8.7 问题与答案210

8.8 讨论题212

8.9 练习题212

9.1 使用聚合213

9.1.1 Critter Farm程序简介213

第9章 高级类和动态内存:Game Lobby213

9.1.2 使用对象数据成员215

9.1.3 使用容器数据成员216

9.2 使用友元函数和操作符重载216

9.2.1 Friend Critter程序简介217

9.2.2 创建友元函数218

9.2.3 重载操作符218

9.3 动态分配内存219

9.3.1 Heap程序简介220

9.3.2 使用new操作符221

9.3.3 使用delete操作符222

9.3.4 避免内存泄漏223

9.4.1 Heap Data Member程序简介224

9.4 使用数据成员和堆224

9.4.2 声明指向堆上的值的数据成员227

9.4.3 定义析构函数227

9.4.4 定义复制构造函数228

9.4.5 重载赋值操作符230

9.4.6 Game Lobby程序简介232

9.4.7 Player类233

9.4.8 Lobby类234

9.4.9 Lobby∷AddPlayer()成员函数235

9.4.10 Lobby∷RemovePlayer()成员函数236

9.4.11 Lobby∷Clear()成员函数237

9.4.12 operator<<()成员函数238

9.4.13 main()函数238

9.5 小结239

9.6 问题与答案240

9.7 讨论题241

9.8 练习题241

第10章 继承和多态:Blackjack242

10.1 继承简介242

10.1.1 Simple Boss程序简介243

10.1.2 从基类派生245

10.1.3 从派生类实例化对象245

10.1.4 使用继承的成员246

10.2 控制继承基础上的访问246

10.2.1 Simple Boss 2.0程序简介247

10.2.2 对类成员使用访问修饰符248

10.2.3 在派生类时使用访问修饰符248

10.3.1 Overriding Boss程序简介249

10.3 调用和覆盖基类成员函数249

10.3.2 调用基类构造函数250

10.3.3 覆盖基类成员函数251

10.3.4 调用基类成员函数251

10.4 在派生类中使用重载的赋值操作符和复制构造函数252

10.5 多态简介253

10.5.1 Virtual Boss程序简介253

10.5.2 定义虚拟成员函数255

10.5.3 定义虚拟析构函数256

10.6 使用抽象类256

10.6.1 Abstract Creature程序257

10.6.2 声明纯虚拟函数258

10.6.3 从抽象类派生一个类258

10.7.2 使用一个文件259

10.7 管理代码259

10.7.1 Critter项目259

10.7.3 创建头文件261

10.7.4 创建实现文件262

10.7.5 创建应用程序文件262

10.8 Blackiack游戏简介263

10.8.1 设计类264

10.8.2 设计游戏逻辑267

10.8.3 Card类268

10.8.4 Hand类269

10.8.5 GenericPlayer类271

10.8.6 Player类272

10.8.7 House类273

10.8.8 Deck类274

10.8.9 Game类276

10.8.10 main()函数278

10.8.11 重载operator<<函数279

10.9 小结280

10.10 问题与答案280

10.11 讨论题281

10.12 练习题282

附录A 创建第一个C++程序283

附录B 操作符优先级287

附录C 关键字290

附录D ASCII表291

附录E 转义序列296

热门推荐