图书介绍
C++图形与游戏编程基础PDF|Epub|txt|kindle电子书版本网盘下载
![C++图形与游戏编程基础](https://www.shukui.net/cover/13/30277490.jpg)
- (美)托尼著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302236092
- 出版时间:2010
- 标注页数:567页
- 文件大小:122MB
- 文件页数:585页
- 主题词:C语言-程序设计
PDF下载
下载说明
C++图形与游戏编程基础PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 计算机和编程概论1
1.1 概述1
1.2 硬件1
1.2.1 CPU2
1.2.2 主内存3
1.2.3 辅助存储设备4
1.2.4 输入设备4
1.2.5 输出设备4
1.3 计算机如何存储数据5
1.3.1 存储数字6
1.3.2 存储字符8
1.3.3 负整数8
1.3.4 实数9
1.3.5 其他类型的数据9
1.4 程序如何工作10
1.4.1 从机器语言到汇编语言12
1.4.2 高级语言13
1.4.3 关键字、运算符和语法:概述14
1.4.4 编译器和解释器15
1.5 C++和Dark GDK库17
综合测验26
编程练习28
第2章 用C+和Dark GDK库进行图形编程31
2.1 体验C++和Dark GDK库31
2.1.1 注释34
2.1.2 编程风格:增强代码的可读性35
2.2 屏幕坐标系统36
2.2.1 用dbDot函数画点37
2.2.2 dbWait函数38
2.3 基本的二维图形39
2.3.1 画线:dbLine函数40
2.3.2 画矩形:dbBox函数43
2.3.3 画圆:dbCircle函数45
2.3.4 画椭圆:dbEllipse函数46
2.3.5 在Dark GDK窗口外部画图48
2.4 显示文本49
2.4.1 在Dark GDK窗口中显示文本49
2.4.2 在窗口标题栏中显示文本52
2.5 程序开发周期59
综合测验61
编程练习63
第3章 变量、计算和颜色65
3.1 概述65
3.2 文字常量65
3.3 变量67
3.3.1 数据类型68
3.3.2 变量名称69
3.3.3 声明变量70
3.4 计算74
3.4.1 运算顺序77
3.4.2 用圆括号分组78
3.4.3 整数除法81
3.4.4 复合赋值运算符81
3.5 从函数获取值87
3.5.1 获取随机数89
3.5.2 为随机数生成器提供种子值90
3.5.3 嵌套函数调用92
3.5.4 数学函数93
3.5.5 其他会返回值的函数94
3.6 从键盘读取数值输入94
3.6.1 atoi和atof函数如何处理无效字符96
3.6.2 将数值转换成字符串97
3.7 颜色98
3.7.1 将RGB颜色存储到内存100
3.7.2 用彩色描绘101
3.8 具名常量105
3.9 更改程序窗口的大小107
综合测验109
编程练习111
第4章 void函数113
4.1 使用函数来模块化程序113
4.2 定义并调用void函数115
4.2.1 函数名115
4.2.2 定义void函数115
4.2.3 调用函数116
4.2.4 函数原型120
4.3 设计程序来使用函数121
层次图123
4.4 局部变量124
作用域和局部变量126
4.5 向函数传递实参127
4.5.1 形参变量的作用域130
4.5.2 传递多个实参131
4.5.3 以传值方式传递实参134
4.5.4 以传引用方式传递实参135
4.6 全局变量和常量138
综合测验142
编程练习144
第5章 处理图像147
5.1 概述147
5.2 位图147
5.2.1 加载位图图像147
5.2.2 位图文件位置148
5.2.3 从用户处获得文件名152
5.2.4 加载多幅位图153
5.2.5 获取位图的大小和颜色深度156
5.2.6 从内存中删除位图157
5.2.7 位图的翻转、镜像、褪色和模糊157
5.3 色键透明159
5.3.1 用dbLoadImage函数加载图像160
5.3.2 用dbPasteImage显示图像160
5.3.3 用dbSetImageColorKey函数更改键色161
5.3.4 从内存中删除图像170
综合测验171
编程练习172
第6章 控制结构175
6.1 概述175
6.2 用if语句写选择结构177
6.2.1 布尔表达式和关系运算符179
6.2.2 综合运用180
6.2.3 测试颜色182
6.3 if-else语句183
6.4 嵌套选择结构和if-else-if语句187
6.4.1 编程风格和嵌套选择结构191
6.4.2 if-else-if语句192
6.5 重复结构:while和do-while循环194
6.5.1 条件控制和计数控制的循环195
6.5.2 while循环195
6.5.3 while循环是先测试循环199
6.5.4 无限循环201
6.5.5 do-while循环:后测试循环201
6.6 递增运算符和递减运算符203
6.7 重复结构:for循环204
6.7.1 在初始化表达式中声明计数器变量207
6.7.2 在循环主体中使用计数器变量207
6.7.3 递增不止1208
6.7.4 递减计数器变量来倒数209
6.8 用for循环处理图像中的像素209
6.9 逻辑运算符214
6.9.1 &&运算符214
6.9.2 ‖运算符215
6.9.3 短路求值215
6.9.4 !运算符216
6.9.5 逻辑运算符的优先级216
6.10 switch语句219
6.11 数值真假、标志和bool变量223
综合测验225
编程练习228
第7章 游戏循环和动画231
7.1 游戏循环231
7.1.1 游戏循环233
7.1.2 将控制交还给Dark GDK234
7.2 简单动画235
7.3 用键盘控制物体238
7.3.1 移动屏幕上的物体240
7.3.2 用键盘执行其他操作241
7.4 有关sprite243
7.4.1 创建sprite243
7.4.2 移动sprite244
7.4.3 获取sprite的X和Y坐标247
7.4.4 获取sprite的宽度和高度247
7.4.5 旋转sprite248
7.4.6 偏移sprite的插入点250
7.4.7 显示和隐藏sprite251
7.4.8 改变sprite的大小252
7.4.9 设置sprite的优先级253
7.4.10 判断sprite是否存在253
7.4.11 更改sprite图像254
7.4.12 翻转和镜像sprite254
7.4.13 设置back save和透明功能255
7.4.14 使用sprite的alpha值来更改透明度256
7.4.15 从内存中删除sprite257
7.4.16 显示sprite、图像和基本图形257
7.4.17 粘贴和克隆sprite261
7.5 胶片动画和sprite sheet265
7.5.1 使用sprite sheet简化动画268
7.5.2 用Dark GDK播放sprite动画269
7.6 sprite碰撞检测271
综合测验281
编程练习282
第8章 Vulture Trouble游戏:引入声音、物理和文本效果285
8.1 概述285
8.2 播放音效和音乐285
8.2.1 声音文件286
8.2.2 音乐文件295
8.3 模拟下落物体301
8.4 文本效果309
8.4.1 更改字号310
8.4.2 更改字体310
8.4.3 使用加粗和倾斜字形310
8.4.4 文本背景透明312
8.4.5 获取文本宽度和高度313
8.4.6 设置光标位置314
8.5 Vulture Trouble游戏316
综合测验336
编程练习338
第9章 返回值的函数和鼠标输入341
9.1 返回值的函数341
9.1.1 自己动手写能返回值的函数342
9.1.2 充分利用return语句344
9.1.3 返回布尔值350
9.2 使用鼠标366
9.2.1 获取鼠标坐标366
9.2.2 显示、隐藏和定位鼠标367
9.2.3 检测鼠标按钮操作368
9.2.4 显示系统的沙漏指针369
9.2.5 获取鼠标移动距离369
9.3 Bug Zapper游戏378
综合测验389
编程练习390
第10章 数组和tile map393
10.1 数组基础393
10.1.1 数组元素和下标394
10.1.2 向数组元素赋值395
10.1.3 C++不执行数组边界检查397
10.1.4 使用循环来遍历数组397
10.1.5 数组初始化399
10.1.6 DWORD类型的颜色数组401
10.1.7 隐式指定数组的大小402
10.1.8 复制数组402
10.1.9 将数组作为实参传给函数403
10.1.10 比较两个数组406
10.1.11 交换数组元素417
10.1.12 部分填充的数组417
10.2 数组排序424
10.3 二维数组432
10.3.1 声明二维数组433
10.3.2 访问二维数组中的元素433
10.3.3 初始化二维数组435
10.3.4 向函数传递二维数组436
10.4 tile map438
综合测验458
编程练习460
第11章 字符串和文件463
11.1 字符串处理463
11.1.1 char数据类型463
11.1.2 字符串在内存中的存储方式464
11.1.3 用char数组存储字符串464
11.1.4 显示char数组存储的字符串465
11.1.5 使用标准C++库函数进行字符串处理465
11.1.6 字符串数组475
11.2 文件输入和输出478
11.2.1 文件名479
11.2.2 文件编号480
11.2.3 打开输出文件480
11.2.4 向输出文件写入数据481
11.2.5 关闭输出文件482
11.2.6 打开输入文件482
11.2.7 从输入文件读取数据483
11.2.8 关闭输出文件483
11.2.9 判断文件是否打开484
11.2.10 使用循环处理文件489
11.2.11 检测文件尾489
11.3 保存游戏的最高分492
综合测验500
编程练习503
第12章 面向对象编程505
12.1 过程式编程和面向对象编程505
12.1.1 对象重用506
12.1.2 日常生活中的一个对象的例子506
12.1.3 OOP术语507
12.2 类和对象507
12.2.1 声明类509
12.2.2 赋值函数和取值函数511
12.2.3 定义成员函数511
12.2.4 创建对象513
12.2.5 构造器516
12.2.6 从同一个类创建多个对象519
12.2.7 重载成员函数520
12.2.8 重载构造器523
12.2.9 创建对象数组526
12.2.10 对象作为实参传给函数530
12.2.11 析构器531
12.3 继承537
12.3.1 常规化和和特殊化537
12.3.2 继承和“属于”关系537
12.3.3 向基类构造器传递实参543
12.4 面向对象的游戏:Balloon Target550
综合测验557
编程练习558
附录A 下载和安装必要的软件561
附录B ASCII字符集567