C++游戏与图形编程基础 第2版PDF电子书下载
- 电子书积分:16 积分如何计算积分?
- 作 者:(美)加迪斯(GaddisT.)著;周靖译
- 出 版 社:北京:清华大学出版社
- 出版年份:2014
- ISBN:9787302362784
- 页数:543 页
第Ⅰ部分 标准C++入门 3
第1章 计算机和编程概论 3
1.1 概述 3
1.2 硬件 3
1.2.1 CPU 4
1.2.2 主内存 5
1.2.3 辅助存储设备 6
1.2.4 输入设备 6
1.2.5 输出设备 7
知识检查点 7
1.3 计算机如何存储数据 7
1.3.1 存储数字 8
1.3.2 存储字符 9
1.3.3 负整数 10
1.3.4 实数 10
1.3.5 其他类型的数据 11
知识检查点 11
1.4 程序如何工作 11
1.4.1 从机器语言到汇编语言 14
1.4.2 高级语言 14
1.4.3 关键字、运算符和语法:概述 16
1.4.4 编译器和解释器 17
知识检查点 18
1.5 C++和App Game Kit库 18
1.5.1 核心语言和库 19
1.5.2 需要使用的软件 19
综合测验 29
编程练习 31
第2章 C++基础知识 33
2.1 C++程序的组成部分 33
分号 35
知识检查点 35
2.2 显示屏幕输出 35
2.2.1 使用endl运算子 37
2.2.2 \n转义序列 38
知识检查点 40
2.3 深入#include指令 41
2.4 变量初探 41
2.4.1 数据类型 42
2.4.2 变量名称 42
2.4.3 常用数据类型 43
2.4.4 int,float和double数据类型 44
2.4.5 在函数中声明变量 45
2.4.6 变量要先声明再使用 45
2.4.7 变量初始化 46
2.4.8 一个语句声明多个变量 46
2.4.9 数值文字常量 47
2.4.10 int变量和赋值兼容性 47
2.4.11 double变量和赋值兼容性 48
2.4.12 变量一次容纳一个值 48
2.4.13 作用域 49
2.4.14 重复的变量名称 49
2.4.15 float数据类型 49
知识检查点 49
2.5 读取键盘输入 50
提示消息 52
知识检查点 52
2.6 注释、空行和缩进 52
2.6.1 单行注释 53
2.6.2 多行注释 54
2.6.4 用空行和缩进增强可读性 54
知识检查点 55
2.7 执行计算和处理数字 55
2.7.1 运算顺序 56
2.7.2 用圆括号进行分组 58
2.7.3 整数除法 58
2.7.4 取余运算符 58
2.7.5 复合赋值运算符 60
2.7.6 混合类型表达式和数据类型转换 61
知识检查点 65
2.8 命名常量 65
知识检查点 67
2.9 标准库的数学函数 67
2.10 使用字符串 69
知识检查点 72
2.11 char数据类型 72
综合测验 74
编程练习 76
第3章 判断结构和布尔逻辑 78
3.1 控制结构 78
伪代码 79
知识检查点 80
3.2 用if语句写判断结构 80
3.2.1 布尔表达式和关系运算符 82
3.2.2 综合运用 84
知识检查点 87
3.3 if-else语句 88
知识检查点 92
3.4 嵌套判断结构和if-else-if语句 92
3.4.1 测试一系列条件 97
3.4.2 if-else-if语句 100
知识检查点 101
3.5 逻辑运算符 102
3.5.1 运算符&& 103
3.5.2 运算符‖ 103
3.5.3 短路求值 104
3.5.4 运算符! 104
3.5.5 逻辑运算符的优先级 105
3.5.6 用逻辑运算符检查数值范围 105
知识检查点 106
3.6 switch语句 106
知识检查点 111
3.7 bool变量 111
知识检查点 112
3.8 比较字符串 112
综合测验 115
编程练习 118
第4章 重复结构 120
4.1 重复结构 120
条件控制和计数控制的循环 121
知识检查点 121
4.2 条件控制的循环:while和do-while循环 121
4.2.1 while循环 121
4.2.2 while循环是先测试循环 125
4.2.3 无限循环 127
4.2.4 do-while循环是后测试循环 128
知识检查点 129
4.3 递增和递减运算符 130
知识检查点 130
4.4 计数控制的循环:for循环 131
4.4.1 在初始化表达式中声明计数器变量 134
4.4.2 在循环主体中使用计数器变量 135
4.4.3 其他形式的更新表达式 136
4.4.4 让用户控制迭代次数 138
知识检查点 139
4.5 计算累加值 140
知识检查点 142
4.6 嵌套循环 142
综合测验 149
编程练习 150
第5章 函数 153
5.1 函数简介 153
void函数和返回值的函数 154
5.2 void函数 155
5.2.1 函数头 155
5.2.2 函数主体 155
5.2.3 调用函数 156
5.2.3 函数原型 157
5.2.4 自顶向下设计 159
知识检查点 159
5.3 局部变量 159
5.3.1 作用域和局部变量 160
5.3.2 重复的变量名称 161
知识检查点 161
5.4 向函数传递实参 161
5.4.1 参数变量(形参)的作用域 165
5.4.2 传递多个实参 165
5.4.3 以传值方式传递实参 166
5.4.4 以传引用方式传递实参 168
知识检查点 169
5.5 全局变量和全局常量 169
5.5.1 全局变量 169
5.5.2 全局常量 170
知识检查点 173
5.6 返回值的函数 173
5.6.1 自己写返回值的函数 173
5.6.2 bool函数 178
5.6.3 从函数返回字符串 180
知识检查点 181
5.7 调用string类的成员函数 181
综合测验 183
编程练习 185
第6章 数组 188
6.1 数组基础 188
6.1.1 数组元素和下标 189
6.1.2 向数组元素赋值 190
6.1.3 输入和输出数组内容 190
6.1.4 数组初始化 192
6.1.5 使用循环来遍历数组 192
6.1.6 C++不执行数组边界检查 195
6.1.7 警惕相差1错误 195
6.1.8 处理数组元素 196
知识检查点 197
6.2 顺序搜索数组 198
搜索字符串数组 201
知识检查点 202
6.3 处理数组内容 203
6.3.1 复制数组 203
6.3.2 比较数组 203
6.3.3 累加数组中的值 205
6.3.4 计算数组平均值 206
6.3.5 找出数组中的最大和最小值 207
6.3.6 将数组作为实参传给函数 210
6.3.7 部分填充的数组 212
知识检查点 219
6.4 平行数组 219
知识检查点 221
6.5 二维数组 221
6.5.1 声明二维数组 222
6.5.2 访问二维数组中的元素 223
6.5.3 向函数传递二维数组 226
知识检查点 227
6.6 多维数组 228
知识检查点 229
综合测验 230
编程练习 232
第Ⅱ部分 C++和AGK游戏编程基础 237
第7章 通过App Game Kit进行C++编程 237
7.1 App Game Kit和游戏程序的结构 237
7.1.1 典型游戏程序的结构 237
7.1.2 记住,app::Loop函数是自动循环的 240
7.1.3 创建使用Visual C++的AGK项目 240
7.1.4 App Game Kit联机文档 243
知识检查点 244
7.2 屏幕坐标系统 244
设置虚拟分辨率 245
知识检查点 246
7.3 显示精灵 247
7.3.1 位图图像 247
7.3.2 精灵 247
7.3.3 图形文件的位置 247
7.3.4 理解后台缓冲区和同步 248
7.3.5 精灵作为背景使用 250
7.3.6 显示多个精灵 252
7.3.7 精灵深度 253
7.3.8 设置精灵位置 255
7.3.9 获取精灵的X和Y坐标 257
7.3.10 获取精灵的宽度和高度 257
7.3.11 缩放精灵 257
7.3.12 旋转精灵 258
7.3.13 翻转精灵 259
7.3.14 使精灵可见或不可见 259
7.3.15 克隆精灵 260
7.3.16 精灵的透明背景 260
7.3.17 黑色透明背景 261
7.3.18 删除精灵 264
7.3.19 组织template文件夹中的图片 265
知识检查点 267
7.4 使用游戏循环 267
7.4.1 更改同步频率 272
7.4.2 游戏状态 272
知识检查点 277
7.5 处理颜色和透明度 277
7.5.1 RGB颜色系统 277
7.5.2 向精灵应用颜色和透明 278
7.5.3 获取精灵的颜色和alpha值 279
知识检查点 280
7.6 在AGK窗口中显示文本 280
7.6.1 打印string对象 283
7.6.2 在窗口标题栏显示标题 285
知识检查点 285
7.7 生成随机数 285
知识检查点 289
综合测验 290
编程练习 292
第8章 输入、动画和声音 293
8.1 鼠标 293
8.1.1 获取鼠标坐标 293
8.1.2 显示和隐藏鼠标指针 295
8.1.3 检测鼠标输入 295
8.1.4 用agk::GetSpriteHit函数判断鼠标指针是否碰到精灵 297
8.1.5 综合运用 298
知识检查点 300
8.2 虚拟按钮 301
8.2.1 在屏幕上添加虚拟按钮 301
8.2.2 更改虚拟按钮的位置 301
8.2.3 更改虚拟按钮的大小 302
8.2.4 在虚拟按钮上显示文本 302
8.2.5 更改虚拟按钮的颜色 302
8.2.6 更改虚拟按钮的透明度 302
8.2.7 显示和隐藏虚拟按钮 303
8.2.8 启用或禁用虚拟按钮 303
8.2.9 更改虚拟按钮的图像 303
8.2.10 响应按下虚拟按钮的事件 304
知识检查点 306
8.3 虚拟手柄 306
8.3.1 添加虚拟手柄 307
8.3.2 设置虚拟手柄的位置 307
8.3.3 设置虚拟手柄的大小 307
8.3.4 设置虚拟手柄的透明度 308
8.3.5 设置禁用或启用虚拟手柄 308
8.3.6 设置虚拟手柄的可见性 308
8.3.7 更改虚拟手柄的图像 309
8.3.8 判断虚拟手柄是否存在 309
8.3.9 删除虚拟手柄 309
8.3.10 设置虚拟手柄的死亡区域 309
8.3.11 获取虚拟手柄的输入 310
知识检查点 313
8.4 键盘 313
8.4.1 用键盘按键移动物体 313
8.4.2 响应按键 315
8.4.3 判断按下的最后一个键 315
知识检查点 317
8.5 动画 317
8.5.1 用纹理图集简化动画 320
8.5.2 用AGK播放精灵动画 321
8.5.3 停止和恢复精灵动画 323
知识检查点 323
8.6 音乐和声音 324
8.6.1 加载声音文件 324
8.6.2 播放声音 324
8.6.3 音乐文件 328
8.6.4 加载音乐文件 328
8.6.5 播放音乐 328
8.7 Bug Zapper游戏 330
综合测验 339
编程练习 341
第9章 文本、碰撞和“坏秃鹰”游戏 343
9.1 文本对象 343
9.1.1 创建文本对象 343
9.1.2 删除文本对象 343
9.1.3 判断文本对象是否存在 344
9.1.4 设置文本对象大小 344
9.1.5 获取文本对象大小 344
9.1.6 设置文本对象位置 344
9.1.7 设置文本对象X坐标 345
9.1.8 获取文本对象X坐标 345
9.1.9 设置文本对象Y坐标 345
9.1.10 获取文本对象Y坐标 345
9.1.11 设置文本对象对齐 349
9.1.12 更改文本对象字母间距 352
9.1.13 设置文本对象的内容 355
9.1.14 获取文本对象的总宽度 355
9.1.15 获取文本对象的总高度 355
9.1.16 显示或隐藏文本对象 355
9.1.17 更改文本对象颜色 355
9.1.18 检测与文本对象的碰撞 356
知识检查点 359
9.2 精灵碰撞检测 359
知识检查点 369
9.3 模拟物体坠落 369
模拟两个方向的运动 375
知识检查点 378
9.4 “坏秃鹰”游戏 378
综合测验 411
编程练习 412
第10章 在AGK中使用文件和数组 414
10.1 文件输入和输出 414
10.1.1 文件名 416
10.1.2 文件编号 416
10.1.3 打开输出文件 416
10.1.4 向现有文件追加数据 417
10.1.5 向输出文件写入数据 417
10.1.6 关闭输出文件 418
10.1.7 打开输入文件 419
10.1.8 从输入文件读取数据 419
10.1.9 关闭输入文件 420
10.1.10 判断文件是否打开 420
知识检查点 436
10.2 在AGK程序中使用数组 437
数组排序 449
10.3 Tile Map 457
10.4 遇到障碍物 473
知识检查点 482
综合测验 483
编程练习 485
第11章 面向对象编程 487
11.1 过程式编程和面向对象编程 487
11.1.1 对象重用 489
11.1.2 日常生活中的对象 489
11.1.3 面向对象编程术语 489
知识检查点 490
11.2 类和对象 490
11.2.1 声明类 492
11.2.2 赋值函数和取值函数 492
11.2.3 构造器 492
11.2.4 析构器 493
11.2.5 设计Sprite类 493
11.2.6 定义成员函数 495
11.2.7 根据同一个类创建多个对象 502
11.2.8 重载构造器和成员函数 505
11.2.9 创建对象数组 512
11.2.10 对象作为实参传给函数 515
知识检查点 517
11.3 继承 518
11.3.1 常规化和特殊化 518
11.3.2 继承和“属于”关系 518
知识检查点 535
综合测验 536
编程练习 537
附录 下载和安装必要的软件 539
- 《幼儿园游戏 规则性游戏》徐仁吉编 1951
- 《市政工程基础》杨岚编著 2009
- 《零基础学会素描》王金著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《生物质甘油共气化制氢基础研究》赵丽霞 2019
- 《糊涂国王摸月亮 立体图形的组合》(韩)高滋贤文 2016
- 《花时间 我的第一堂花艺课 插花基础技法篇》(日)花时间编辑部编;陈洁责编;冯莹莹译 2020
- 《Photoshop CC 2018基础教程》温培利,付华编著 2019
- 《幼儿英语游戏活动指导与实训》苏小菊,任晓琴主编;颜晓芳,覃静,谢恬恬,钟博维副主编 2020
- 《看视频零基础学英语口语》宋德伟 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019