欢迎光临本店     登录 注册   加入收藏
  •   
欢迎光临清华大学出版社第三事业部!

此页面上的内容需要较新版本的 Adobe Flash Player。

获取 Adobe Flash Player

当前位置: 首页 > 外版图书 > 计算机与互联网 > C++图形与游戏编程基础

浏览历史

C++图形与游戏编程基础

C++图形与游戏编程基础

prev next

  • 商品货号:01632010-8-27-2393
  • 商品重量:0克
    作者:(美)加迪斯(Gaddis, T.) 著 周靖 译
    图书书号/ISBN:9787302236092
    出版日期:2010-10-01
    印张:36.5
    字数:967千字
    开本:16
  • 上架时间:2010-08-27
    商品点击数:1105
  • 定价:¥69.00元
    本店售价:¥36.50元
    注册用户:¥36.50元
    vip:¥34.68元
    黄金等级:¥32.85元
    用户评价: comment rank 5
  • 商品总价:
  • 购买数量:

内容简介:

商品附加资源

《C++图形与游戏编程基础》作为入门教材,采用一种新颖、有趣的“寓教于乐”的方式来讲授传统主题,即鼓励并引导学生亲自动手写程序来生成图形、处理图像/声音和玩游戏。所有例子和作业都经过精心设计,能很好地激发学生的学习兴趣,使其在整个课程中都能兴趣盎然地专心学、动手做。 全书共12章,涵盖的基本主题包括数据类型、变量、输入、输出、控制结构、函数、数组、文件、类和对象。在学习过程中,循序渐进地介绍如何画一些基本的图形,如何加载和处理图像,如何创建图形和动画,如何播放音乐和音效,如何检测程序不同图形元素(称为sprite)之间的碰撞。同时还介绍如何综合运用这些技能创建互动电脑游戏。 本书适合没有任何编程背景但对游戏编程具有强烈兴趣的读者,是帮助他们进入图形和游戏编程世界的理想教程。
目 录
第1章 计算机和编程概论 1
1.1 概述 1
1.2 硬件 1
1.2.1 CPU 2
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 递增不止1 208
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 GDK 234
7.2 简单动画 235
7.3 用键盘控制物体 238
7.3.1 移动屏幕上的物体 240
7.3.2 用键盘执行其他操作 241
7.4 有关sprite 243
7.4.1 创建sprite 243
7.4.2 移动sprite 244
7.4.3 获取sprite的 X和Y坐标 247
7.4.4 获取sprite的宽度和 高度 247
7.4.5 旋转sprite 248
7.4.6 偏移sprite的插入点 250
7.4.7 显示和隐藏sprite 251
7.4.8 改变sprite的大小 252
7.4.9 设置sprite的优先级 253
7.4.10 判断sprite是否存在 253
7.4.11 更改sprite图像 254
7.4.12 翻转和镜像sprite 254
7.4.13 设置back save和 透明功能 255
7.4.14 使用sprite的alpha值来 更改透明度 256
7.4.15 从内存中删除sprite 257
7.4.16 显示sprite、图像和 基本图形 257
7.4.17 粘贴和克隆sprite 261
7.5 胶片动画和sprite sheet 265
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 map 393
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 map 438
综合测验 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 Target 550
综合测验 557
编程练习 558
附录A 下载和安装必要的软件 561
附录B ASCII字符集 567

商品标签

购买记录(近期成交数量0)

还没有人购买过此商品
总计 0 个记录,共 1 页。 第一页 上一页 下一页 最末页

用户评论(共0条评论)

  • 暂时还没有任何用户评论
总计 0 个记录,共 1 页。 第一页 上一页 下一页 最末页
用户名: 匿名用户
E-mail:
评价等级:
评论内容:
验证码: captcha