图书介绍
C++游戏编程入门 第4版PDF|Epub|txt|kindle电子书版本网盘下载
![C++游戏编程入门 第4版](https://www.shukui.net/cover/21/30971877.jpg)
- (美)道森著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115396396
- 出版时间:2015
- 标注页数:335页
- 文件大小:40MB
- 文件页数:353页
- 主题词:游戏程序-C语言-程序设计
PDF下载
下载说明
C++游戏编程入门 第4版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 类型、变量与标准I/O:Lost Fortune1
1.1 C++简介1
1.1.1 使用C++编写游戏1
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 使用空白字符6
1.2.4 包含其他文件6
1.2.5 定义main()函数7
1.2.6 通过标准输出显示文本7
1.2.7 语句的终止8
1.2.8 从main()函数返回值8
1.3 使用std名称空间9
1.3.1 Game Over 2.0程序简介9
1.3.2 使用using指令10
1.3.3 Game Over 3.0程序简介10
1.3.4 使用using声明11
1.3.5 使用using的时机11
1.4 使用算术运算符12
1.4.1 Expensive Calculator程序简介12
1.4.2 加法、减法与乘法13
1.4.3 理解整型与浮点型除法13
1.4.4 使用模除运算符14
1.4.5 运算符的优先级14
1.5 声明和初始化变量14
1.5.1 Game Stats程序简介14
1.5.2 基本类型16
1.5.3 类型修饰符16
1.5.4 变量声明17
1.5.5 变量命名18
1.5.6 变量的赋值19
1.5.7 变量初始化20
1.5.8 显示变量值20
1.5.9 获取用户输入20
1.5.10 为类型定义新名称21
1.5.11 类型的选择21
1.6 使用变量进行算术运算21
1.6.1 Game Stats 2.0程序简介22
1.6.2 修改变量值23
1.6.3 使用组合赋值运算符23
1.6.4 递增运算符与递减运算符24
1.6.5 整数的溢出处理25
1.7 使用常量26
1.7.1 Game Stats 3.0程序简介26
1.7.2 使用常量27
1.7.3 使用枚举类型27
1.8 Lost Fortune简介28
1.8.1 创建程序29
1.8.2 从玩家获取信息30
1.8.3 讲故事30
1.9 本章小结31
1.10 问与答32
1.11 问题讨论33
1.12 习题34
第2章 真值、分支与游戏循环:Guess My Number35
2.1 理解真值35
2.2 使用if语句36
2.2.1 Score Rater程序简介36
2.2.2 验证真与假38
2.2.3 值的真与假39
2.2.4 使用关系运算符39
2.2.5 if语句的嵌套40
2.3 使用else子句40
2.3.1 Score Rater 2.0程序简介41
2.3.2 两种创建分支的方法42
2.4 使用带else子句的if语句序列43
2.4.1 Score Rater 3.0程序简介43
2.4.2 创建带else子句的if语句序列44
2.5 使用switch语句45
2.5.1 Menu Chooser程序简介46
2.5.2 创建多路分支48
2.6 使用while循环48
2.6.1 Play Again游戏简介48
2.6.2 使用while循环49
2.7 使用do循环50
2.7.1 Play Again 2.0程序简介50
2.7.2 使用do循环51
2.8 使用break和continue语句52
2.8.1 Finicky Counter程序简介52
2.8.2 创建while(true)循环53
2.8.3 使用break语句退出循环53
2.8.4 使用continue语句跳转到循环开始54
2.8.5 使用break和continue的时机54
2.9 使用逻辑运算符54
2.9.1 Designers Network程序简介55
2.9.2 使用逻辑与运算符57
2.9.3 使用逻辑或运算符58
2.9.4 使用逻辑非运算符58
2.9.5 运算符的优先级59
2.10 随机数的生成60
2.10.1 Die Roller程序简介60
2.10.2 调用rand()函数61
2.10.3 为随机数生成器确定种子61
2.10.4 在一定范围内计算62
2.11 理解游戏主循环63
2.12 Guess My Number游戏简介64
2.12.1 采用游戏主循环64
2.12.2 初始化游戏65
2.12.3 创建游戏主循环66
2.12.4 游戏结束67
2.13 本章小结67
2.14 问与答68
2.15 问题讨论69
2.16 习题69
第3章 for循环、字符串与数组:Word Jumble71
3.1 使用for循环71
3.1.1 Counter程序简介72
3.1.2 使用for循环计数73
3.1.3 在for循环中使用空语句74
3.1.4 for循环的嵌套74
3.2 了解对象75
3.3 使用string对象77
3.3.1 String Tester程序简介77
3.3.2 创建string对象79
3.3.3 string对象的连接79
3.3.4 使用size()成员函数79
3.3.5 索引string对象80
3.3.6 循环访问string对象81
3.3.7 使用find()成员函数81
3.3.8 使用erase()成员函数82
3.3.9 使用empty()成员函数83
3.4 使用数组83
3.4.1 Hero’s Inventory程序简介83
3.4.2 创建数组85
3.4.3 数组的索引86
3.4.4 使用数组元素的成员函数87
3.4.5 数组边界87
3.5 理解C风格字符串88
3.6 使用多维数组89
3.6.1 Tic-Tac-Toe Board程序简介90
3.6.2 创建多维数组91
3.6.3 多维数组的索引92
3.7 Word Jumble程序简介92
3.7.1 创建程序93
3.7.2 选择单词93
3.7.3 单词乱序94
3.7.4 欢迎界面95
3.7.5 进入游戏主循环95
3.7.6 游戏结束96
3.8 本章小结96
3.9 问与答97
3.10 问题讨论99
3.11 习题99
第4章 标准模板库:Hangman100
4.1 标准模板库简介100
4.2 使用vector101
4.2.1 Hero’s Inventory 2.0程序简介101
4.2.2 使用向量的准备工作103
4.2.3 向量的声明103
4.2.4 使用push back()成员函数104
4.2.5 使用size()成员函数104
4.2.6 向量的索引105
4.2.7 调用元素的成员函数105
4.2.8 使用pop_back()成员函数106
4.2.9 使用clear()成员函数106
4.2.10 使用empty()成员函数106
4.3 使用迭代器107
4.3.1 Hero’s Inventory 3.0程序简介107
4.3.2 迭代器的声明109
4.3.3 循环访问向量110
4.3.4 修改向量元素的值111
4.3.5 访问向量元素的成员函数112
4.3.6 使用向量的成员函数insert()113
4.3.7 使用向量的成员函数erase()113
4.4 使用算法114
4.4.1 High Scores程序简介114
4.4.2 使用算法的准备工作116
4.4.3 使用find()算法116
4.4.4 使用random_shuffle()算法117
4.4.5 使用sort()算法117
4.5 理解向量的性能118
4.5.1 向量的增长118
4.5.2 元素的插入与删除120
4.6 其他STL容器120
4.7 对程序进行规划121
4.7.1 使用伪代码121
4.7.2 逐步细化122
4.8 Hangman简介123
4.8.1 游戏规划123
4.8.2 创建程序124
4.8.3 变量与常量的初始124
4.8.4 进入游戏主循环125
4.8.5 获取玩家的猜测125
4.8.6 游戏结束126
4.9 本章小结127
4.10 问与答128
4.11 问题讨论129
4.12 习题129
第5章 函数:Mad Lib131
5.1 创建函数131
5.1.1 Instructions程序简介131
5.1.2 函数声明132
5.1.3 函数定义133
5.1.4 函数调用134
5.1.5 理解抽象134
5.2 使用形参和返回值134
5.2.1 Yes or No程序简介135
5.2.2 返回值136
5.2.3 传递参数值137
5.2.4 理解封装138
5.3 理解软件重用139
5.4 使用作用域140
5.4.1 Scoping程序简介140
5.4.2 使用独立的作用域141
5.4.3 使用嵌套作用域142
5.5 使用全局变量144
5.5.1 Global Reach程序简介144
5.5.2 声明全局变量145
5.5.3 访问全局变量145
5.5.4 隐藏全局变量146
5.5.5 修改全局变量146
5.5.6 尽量少使用全局变量147
5.6 使用全局常量147
5.7 使用默认参数148
5.7.1 Give Me a Number程序简介148
5.7.2 指定默认参数149
5.7.3 为形参设置默认参数150
5.7.4 重写默认参数150
5.8 函数重载151
5.8.1 Triple程序简介151
5.8.2 创建重载函数152
5.8.3 调用重载函数153
5.9 内联函数153
5.9.1 Taking Damage程序简介153
5.9.2 函数内联的指定155
5.9.3 调用内联函数155
5.10 Mad Lib游戏简介156
5.10.1 创建程序156
5.10.2 main()函数157
5.10.3 askText()函数157
5.10.4 askNumber()函数158
5.10.5 tellStory()函数158
5.11 本章小结159
5.12 问与答160
5.13 问题讨论161
5.14 习题161
第6章 引用:Tic-Tac-Toe162
6.1 使用引用162
6.1.1 Referencing程序简介162
6.1.2 创建引用164
6.1.3 访问被引用的值165
6.1.4 修改被引用的值165
6.2 通过传递引用改变实参166
6.2.1 Swap程序简介166
6.2.2 按值传递参数167
6.2.3 按引用传递参数168
6.3 传递引用以提高效率169
6.3.1 Inventory Displayer程序简介169
6.3.2 引用传递的陷阱170
6.3.3 以常量引用声明参数171
6.3.4 传递常量引用171
6.4 如何传递实参172
6.5 返回引用172
6.5.1 Inventory Referencer程序简介172
6.5.2 返回一个引用174
6.5.3 显示返回的引用的值175
6.5.4 将返回的引用赋值给引用175
6.5.5 将返回的引用赋值给变量175
6.5.6 通过返回的引用修改对象176
6.6 Tic-Tac-Toe游戏简介176
6.6.1 游戏规划177
6.6.2 创建程序179
6.6.3 main()函数179
6.6.4 instructions()函数180
6.6.5 askYesNo()函数181
6.6.6 askNumber()函数181
6.6.7 humanPiece()函数182
6.6.8 opponent()函数182
6.6.9 displayBoard()函数182
6.6.10 winner()函数183
6.6.11 isLegal()函数184
6.6.12 humanMove()函数185
6.6.13 computerMove()函数185
6.6.14 announceWinner()函数188
6.7 本章小结188
6.8 问与答189
6.9 问题讨论191
6.10 习题191
第7章 指针:Tic-Tac-Toe 2.0192
7.1 指针基础192
7.1.1 Pointing程序简介193
7.1.2 指针的声明194
7.1.3 指针的初始化195
7.1.4 将地址赋值给指针195
7.1.5 指针的解引用196
7.1.6 指针的重新赋值197
7.1.7 使用对象的指针198
7.2 指针和常量199
7.2.1 使用常量指针199
7.2.2 使用指向常量的指针200
7.2.3 使用指向常量的常量指针200
7.2.4 常量与指针小结201
7.3 传递指针202
7.3.1 Swap Pointer Version程序简介202
7.3.2 值传递204
7.3.3 传递常量指针204
7.4 返回指针205
7.4.1 Inventory Pointer程序简介205
7.4.2 返回指针207
7.4.3 使用返回的指针显示值208
7.4.4 将返回的指针赋值给指针208
7.4.5 将返回的指针指向的值赋值给变量209
7.4.6 通过返回的指针修改对象210
7.5 理解指针与数组的关系210
7.5.1 Array Passer程序简介211
7.5.2 将数组名用作常量指针212
7.5.3 数组的传递与返回213
7.6 Tic-Tac-Toe 2.0程序简介214
7.7 本章小结214
7.8 问与答215
7.9 问题讨论217
7.10 习题217
第8章 类:Critter Caretaker218
8.1 定义新类型218
8.1.1 Simple Critter程序简介218
8.1.2 定义一个类220
8.1.3 成员函数的定义221
8.1.4 对象的实例化221
8.1.5 数据成员的访问221
8.1.6 成员函数的调用222
8.2 使用构造函数222
8.2.1 Constructor Critter程序简介223
8.2.2 构造函数的声明与定义224
8.2.3 构造函数的自动调用225
8.3 设置成员访问级别225
8.3.1 Private Critter程序简介226
8.3.2 指定公有与私有访问级别227
8.3.3 定义访问器成员函数228
8.3.4 定义常量成员函数229
8.4 使用静态数据成员与静态成员函数230
8.4.1 Static Critter程序简介230
8.4.2 声明与初始化静态数据成员232
8.4.3 访问静态数据成员232
8.4.4 声明与定义静态成员函数233
8.4.5 调用静态成员函数233
8.5 Critter Caretaker游戏简介234
8.5.1 游戏规划235
8.5.2 规划伪代码236
8.5.3 Critter类236
8.5.4 main()函数239
8.6 本章小结240
8.7 问与答241
8.8 问题讨论243
8.9 习题243
第9章 高级类与动态内存:Game Lobby244
9.1 使用聚合体244
9.1.1 Critter Farm程序简介244
9.1.2 使用对象数据成员247
9.1.3 使用容器数据成员247
9.2 使用友元函数与运算符重载248
9.2.1 Friend Critter程序简介249
9.2.2 创建友元函数250
9.2.3 运算符重载251
9.3 动态分配内存252
9.3.1 Heap程序简介252
9.3.2 使用new运算符254
9.3.3 避免内存泄漏256
9.4 使用数据成员与堆257
9.4.1 Heap Data Member程序简介258
9.4.2 声明指向堆中值的指针数据成员260
9.4.3 声明与定义析构函数261
9.4.4 声明与定义拷贝构造函数262
9.4.5 赋值运算符的重载265
9.5 Game Lobby程序简介267
9.5.1 Player类268
9.5.2 Lobby类269
9.5.3 Lobby::AddPlayer()成员函数271
9.5.4 Lobby::RemovePlayer()成员函数272
9.5.5 Lobby::Clear()成员函数274
9.5.6 operator<<()成员函数274
9.5.7 main()函数275
9.6 本章小结275
9.7 问与答276
9.8 问题讨论278
9.9 习题278
第10章 继承与多态:Blackjack279
10.1 继承简介279
10.1.1 Simple Boss程序简介280
10.1.2 从基类派生282
10.1.3 从派生类实例化对象283
10.1.4 使用继承成员283
10.2 继承访问权的控制284
10.2.1 Simple Boss 2.0程序简介284
10.2.2 对类成员使用访问修饰符286
10.2.3 使用访问修饰符修饰派生类286
10.3 调用与重写基类成员函数287
10.3.1 Overriding Boss程序简介287
10.3.2 调用基类构造函数289
10.3.3 声明虚基类成员函数290
10.3.4 重写虚基类成员函数290
10.3.5 调用基类成员函数291
10.4 在派生类中使用重载赋值运算符与拷贝构造函数292
10.5 多态简介292
10.5.1 Polymorphic Bad Guy程序简介293
10.5.2 使用基类指针指向派生类对象295
10.5.3 定义虚析构函数296
10.6 使用抽象类297
10.6.1 Abstract Creature程序简介297
10.6.2 声明纯虚函数299
10.6.3 从抽象类派生类299
10.7 Blackjack游戏简介300
10.7.1 类的设计301
10.7.2 规划游戏的逻辑304
10.7.3 Card类304
10.7.4 Hand类306
10.7.5 GenericPlayer类308
10.7.6 Player类309
10.7.7 House类311
10.7.8 Deck类312
10.7.9 Game类314
10.7.10 main()函数317
10.8 本章小结319
10.9 问与答320
10.10 问题讨论321
10.11 习题321
附录A 创建第一个C++程序323
附录B 运算符优先级329
附录C 关键字331
附录D ASCII字符表333
附录E 转义序列335