通过游戏编程实战教新手学C++编程

出版时间:2011-11  出版社:清华大学  作者:道森  页数:293  译者:万千  
Tag标签:无  

内容概要

  本书从游戏视角来介绍C++,既独具匠心又妙趣横生。即使读者初学C++,还没有任何编程经验,也可以在Michael
Dawson的循循善诱下掌握C++的各种概念与技巧。书中每章涵盖一系列彼此相关的主题,并在结尾部分编写一个简单的文本游戏来巩固所学概念。随着学习的深入,读者将学会如何组织编程项目,如何将问题分解为可管理的子问题块,以及如何精炼代码。最后一章的游戏将综合运用《游戏开发经典丛书:通过游戏编程实战教新手学C++编程》介绍的概念与技巧,创建一个相对复杂的游戏。读完《游戏开发经典丛书:通过游戏编程实战教新手学C++编程》,您将为C++开发打下坚实的基础。

作者简介

  道森,Michael Dawson,是一位游戏编程图书的作者。他为UCLA Extension、The Digital
MediaAcademy和The Los Angeles Film
School开设并执教游戏编程课程,指导学生游戏编程的艺术与科学。另外,他的多部著作已成为国内多所大学的必读书目。Mike以游戏制作人和设计师的身份进入游戏行业,同时还在一个玩家冒险游戏中担任主角——玩家控制的角色的名字就叫Mike
Dawson。在游戏中,Dawson的大脑中被植入了外星人的胚胎,玩家要指挥数字化形象的Dawson在胚胎诞生之前阻止外星人的入侵。Mike的著作包括《通过游戏编程实战教新手学C++编程》、Python
Programming for theAbsolute Beginner、C++Projects:Programming with
Text-Based Games以及Guide to Programming with
Bython。他在南加州大学获得计算机科学学士学位。

书籍目录

第1章 类型、变量与标准
i/o:lost fortune
1.1 c++简介
1.1.1 使用c++编写游戏
1.1.2 生成可执行文件
1.1.3 错误处理
1.1.4 理解iso标准
1.2 编写第一个c++程序
1.2.1 game over程序简介
1.2.2 注释
1.2.3 使用空白字符
1.2.4 包含其他文件
1.2.5 定义main()函数
1.2.6 通过标准输出显示文本
1.2.7 语句的终止
1.2.8 从main()函数返回值
1.3 使用std名称空间
1.3.1 game over 2.0程序简介
1.3.2 使用using指令
.1.3.3 game over 3.0程序简介
1.3.4 使用using声明
1.3.5 使用using的时机
1.4 使用算术运算符
1.4.1 expensive calculator程序简介
1.4.2 加法、减法与乘法
1.4.3 理解整型与浮点型除法
1.4.4 使用取模运算符
1.4.5 运算符的优先级
1.5 声明和初始化变量
1.5.1 game stats程序简介
1.5.2 基本类型
1.5.3 类型修饰符
1.5.4 变量声明
1.5.5 变量命名
1.5.6 变量的赋值
1.5.7 变量初始化
1.5.8 显示变量值
1.5.9 获取用户输入
1.5.10 为类型定义新名称
1.5.11 类型的选择
1.6 使用变量进行算术运算
1.6.1 game stats 2.0程序简介
1.6.2 修改变量值
1.6.3 使用组合赋值运算符
1.6.4 递增运算符与递减运算符
1.6.5 整数的溢出处理
1.7 使用常量
1.7.1 game stats 3.0程序简介
1.7.2 使用常量
1.7.3 使用枚举类型
1.8 lost fortune简介
1.8.1 创建程序
1.8.2 从玩家获取信息
1.8.3 讲故事
1.9 本章小结
1.10 问与答
1.11 问题讨论
1.12 习题
第2章 真值、分支与游戏循环:
guess my number
2.1 理解真值
2.2 使用if语句
2.2.1 score rater程序简介
2.2.2 验证真与假
2.2.3 值的真与假
2.2.4 使用关系运算符
2.2.5 if语句的嵌套
2.3 使用else子句
2.3.1 score rater 2.0程序简介
2.3.2 创建分支
2.4 使用带else子句的if语句序列
2.4.1 score rater 3.0程序简介
2.4.2 创建带else子句的if语句序列
2.5 使用switch语句
2.5.1 menu chooser程序简介
2.5.2 创建多路分支
2.6 使用while循环
2.6.1 play again游戏简介
2.6.2 使用while循环
2.7 使用do循环
2.7.1 play again 2.0程序简介
2.7.2 使用do循环
2.8 使用break和continue语句
2.8.1 finicky counter程序简介
2.8.2 创建while(true)循环
2.8.3 使用break语句退出循环
2.8.4 使用continue语句跳转到循环开始
2.8.5 使用break和continue的时机
2.9 使用逻辑运算符
2.9.1 designers network程序简介
2.9.2 使用逻辑与运算符
2.9.3 使用逻辑或运算符
2.9.4 使用逻辑非运算符
2.9.5 运算符的优先级
2.10 随机数的生成
2.10.1 die roller程序简介
2.10.2 调用rand()函数
2.10.3 为随机数生成器确定种子
2.10.4 在一定范围内计算
2.11 理解游戏主循环
2.12 guess my number游戏简介
2.12.1 采用游戏主循环
2.12.2 初始化游戏
2.12.3 创建游戏主循环
2.12.4 游戏结束
2.13 本章小结
2.14 问与答
2.15 问题讨论
2.16 习题
第3章 for循环、字符串与数组:
word jumble
3.1 使用for循环
3.1.1 counter程序简介
3.1.2 使用for循环计数
3.1.3 在for循环中使用空语句
3.1.4 for循环的嵌套
3.2 理解对象
3.3 使用string对象
3.3.1 string tester程序简介
3.3.2 创建string对象
3.3.3 string对象的连接
3.3.4 使用size()成员函数
3.3.5 索引string对象
3.3.6 循环访问string对象
3.3.7 使用find()成员函数
3.3.8 使用erase()成员函数
3.3.9 使用empty()成员函数
3.4 使用数组
3.4.1 hero's inventory程序简介
3.4.2 创建数组
3.4.3 数组的索引
3.4.4 使用数组元素的成员函数
3.4.5 数组边界
3.5 理解c风格字符串
3.6 使用多维数组
3.6.1 tic-tac-toe board程序简介
3.6.2 创建多维数组
3.6.3 多维数组的索引
3.7 word jumble程序简介
3.7.1 创建程序
3.7.2 选择单词
3.7.3 单词乱序
3.7.4 欢迎界面
3.7.5 进入游戏主循环
3.7.6 游戏结束
3.8 本章小结
3.9 问与答
3.10 问题讨论
3.11 习题
第4章 标准模板库:hangman
4.1 标准模板库简介
4.2 使用vector
4.2.1 hero's inventory 2.0程序简介
4.2.2 使用向量的准备工作
4.2.3 向量的声明
4.2.4 使用push_back()成员函数
4.2.5 使用size()成员函数
4.2.6 向量的索引
4.2.7 调用元素的成员函数
4.2.8 使用pop_back()成员函数
4.2.9 使用clear()成员函数
4.2.10 使用empty()成员函数
4.3 使用迭代器
4.3.1 hero's inventory 3.0程序简介
4.3.2 迭代器的声明
4.3.3 循环访问向量
4.3.4 修改向量元素的值
4.3.5 访问向量元素的成员函数
4.3.6 使用向量的成员函数insert()
4.3.7 使用向量的成员函数erase()
4.4 使用算法
4.4.1 high scores程序简介
4.4.2 使用算法的准备工作
4.4.3 使用find()算法
4.4.4 使用random_shuffle()算法
4.4.5 使用sort()算法
4.5 理解向量的性能
4.5.1 向量的增长
4.5.2 元素的插入与删除
4.6 其他stl容器
4.7 对程序进行规划
4.7.1 使用伪代码
4.7.2 逐步细化
4.8 hangman简介
4.8.1 游戏规划
4.8.2 创建程序
4.8.3 变量与常量的初始化
4.8.4 进入游戏主循环
4.8.5 获取玩家的猜测
4.8.6 游戏结束
4.9 本章小结
4.10 问与答
4.11 问题讨论
4.12 习题
第5章 函数:mad lib
5.1 创建函数
5.1.1 instructions程序简介
5.1.2 函数声明
5.1.3 函数定义
5.1.4 函数调用
5.1.5 理解抽象
5.2 使用形参和返回值
5.2.1 yes or no程序简介
5.2.2 返回值
5.2.3 传递参数值
5.2.4 理解封装
5.3 理解软件重用
5.4 使用作用域
5.4.1 scoping程序简介
5.4.2 使用独立的作用域
5.4.3 使用嵌套作用域
5.5 使用全局变量
5.5.1 global reach程序简介
5.5.2 声明全局变量
5.5.3 访问全局变量
5.5.4 隐藏全局变量
5.5.5 修改全局变量
5.5.6 尽量少使用全局变量
5.6 使用全局常量
5.7 使用默认参数
5.7.1 give me a number程序简介
5.7.2 指定默认参数
5.7.3 为形参设置默认参数
5.7.4 重写默认参数
5.8 函数重载
5.8.1 triple程序简介
5.8.2 创建重载函数
5.8.3 调用重载函数
5.9 内联函数
5.9.1 taking damage程序简介
5.9.2 函数内联的指定
5.9.3 调用内联函数
5.10 mad lib游戏简介
5.10.1 创建程序
5.10.2 main()函数
5.10.3 asktext()函数
5.10.4 asknumber()函数
5.10.5 tellstory()函数
5.11 本章小结
5.12 问与答
5.13 问题讨论
5.14 习题
第6章 引用:tic-tac-toe
6.1 使用引用
6.1.1 referencing程序简介
6.1.2 创建引用
6.1.3 访问被引用的值
6.1.4 修改被引用的值
6.2 通过传递引用改变实参
6.2.1 swap程序简介
6.2.2 按值传递参数
6.2.3 按引用传递参数
6.3 传递引用以提高效率
6.3.1 inventory displayer程序简介
6.3.2 引用传递的陷阱
6.3.3 以常量引用声明参数
6.3.4 传递常量引用
6.4 如何传递实参
6.5 返回引用
6.5.1 inventory referencer程序简介
6.5.2 返回一个引用
6.5.3 显示返回的引用的值
6.5.4 将返回的引用赋值给引用
6.5.5 将返回的引用赋值给变量
6.5.6 通过返回的引用修改对象
6.6 tic-tac-toe游戏简介
6.6.1 游戏规划
6.6.2 创建程序
6.6.3 main()函数
6.6.4 instructions()函数
6.6.5 askyesno()函数
6.6.6 asknumber()函数
6.6.7 humanpiece()函数
6.6.8 opponent()函数
6.6.9 displayboard()函数
6.6.10 winner()函数
6.6.11 islegal()函数
6.6.12 humanmove()函数
6.6.13 computermove()函数
6.6.14 announcewinner()函数
6.7 本章小结
6.8 问与答
6.9 问题讨论
6.10 习题
第7章 指针:tic-tac-toe 2.0
7.1 指针基础
7.1.1 pointing程序简介
7.1.2 指针的声明
7.1.3 指针的初始化
7.1.4 将地址赋值给指针
7.1.5 指针的解引用
7.1.6 指针的重新赋值
7.1.7 使用对象的指针
7.2 指针和常量
7.2.1 使用常量指针
7.2.2 使用指向常量的指针
7.2.3 使用指向常量的常量指针
7.2.4 常量与指针小结
7.3 传递指针
7.3.1 swap pointer version程序简介
7.3.2 值传递
7.3.3 传递常量指针
7.4 返回指针
7.4.1 inventory pointer程序简介
7.4.2 返回指针
7.4.3 使用返回的指针显示值
7.4.4 将返回的指针赋值给指针
7.4.5 将返回的指针指向的值赋值给变量
7.4.6 通过返回的指针修改对象
7.5 理解指针与数组的关系
7.5.1 array passer程序简介
7.5.2 将数组名用作常量指针
7.5.3 数组的传递与返回
7.6 tic-tac-toe 2.0程序简介
7.7 本章小结
7.8 问与答
7.9 问题讨论
7.10 习题
第8章 类:critter caretaker
8.1 定义新类型
8.1.1 simple critter程序简介
8.1.2 类的定义
8.1.3 成员函数的定义
8.1.4 对象的实例化
8.1.5 数据成员的访问
8.1.6 成员函数的调用
8.2 使用构造函数
8.2.1 constructor critter程序简介
8.2.2 构造函数的声明与定义
8.2.3 构造函数的自动调用
8.3 设置成员访问级别
8.3.1 private critter程序简介
8.3.2 指定公有与私有访问级别
8.3.3 定义访问器成员函数
8.3.4 定义常量成员函数
8.4 使用静态数据成员与静态成员函数
8.4.1 static critter程序简介
8.4.2 声明与初始化静态数据成员
8.4.3 访问静态数据成员
8.4.4 声明与定义静态成员函数
8.4.5 调用静态成员函数
8.5 critter caretaker游戏简介
8.5.1 游戏规划
8.5.2 规划伪代码
8.5.3 critter类
8.5.4 main()函数
8.6 本章小结
8.7 问与答
8.8 问题讨论
8.9 习题
第9章 高级类与动态内存:
game lobby
9.1 使用聚合体
9.1.1 critter farm程序简介
9.1.2 使用对象数据成员
9.1.3 使用容器数据成员
9.2 使用友元函数与运算符重载
9.2.1 friend critter程序简介
9.2.2 创建友元函数
9.2.3 运算符重载
9.3 动态分配内存
9.3.1 heap程序简介
9.3.2 使用new运算符
9.3.3 使用delete运算符
9.3.4 避免内存泄漏
9.4 使用数据成员与堆
9.4.1 heap data member程序简介
9.4.2 声明指向堆中值的指针数据成员
9.4.3 声明与定义析构函数
9.4.4 声明与定义拷贝构造函数
9.4.5 赋值运算符的重载
9.5 game lobby程序简介
9.5.1 player类
9.5.2 lobby类
9.5.3 lobby::addplayer()成员函数
9.5.4 lobby::removeplayer()成员函数
9.5.5 lobby::clear()成员函数
9.5.6 operator[[()成员函数
9.5.7 main()函数
9.6 本章小结
9.7 问与答
9.8 问题讨论
9.9 习题
第10章 继承与多态:blackjack
附录a 创建第一个c++程序
附录b 运算符优先级
附录c 关键字
附录d ascii字符表
附录e 转义序列

章节摘录

版权页:插图:以上介绍了两种使名称空间中的元素本地化的方法。但是哪种方法更好呢?语言纯粹主义者会说两种方法都不可取,而应该在每次使用这些元素的时候加上前缀作为区别。在我看来,这就如同总是使用全名来称呼您最好的朋友,显得过于正式。如果您讨厌输入太多字符,可以使用using指令。较为折中的方案是使用using声明。为了简洁起见,本书大多数时候使用using指令。

编辑推荐

《游戏开发经典丛书:通过游戏编程实战教新手学C++编程》由清华大学出版社出版。

图书封面

图书标签Tags

评论、评分、阅读与下载


    通过游戏编程实战教新手学C++编程 PDF格式下载


用户评论 (总计45条)

 
 

  •   书真的是入门。。比较简单。。即使没学过C或者C++都能够看懂。。不过资深人员我觉得真的可以pass掉这本。。这本书属于是用编游戏的思路学习C++的一本书。。
  •   很不错的入门书,如果你有一定的C基础,想学游戏的话看这个真的很不错
  •   挺好的书,学习一下C++编程,还是不错的
  •   今天已经学完第一章。
  •   这本书是写给刚刚学习C++的人看的。非常有趣,符合国外教材的特点。
  •   加上实例可以更好的让初学者更加直观的学习
  •   的确是新手的教学,讲得很适合学习。受益匪浅
  •   这本书真心不错,易懂
  •   这本书对于初学者来说 挺不错的
  •   还没开始看呢,应该还不错吧
  •   很使用很好
  •   里面解释比较清楚,总体来说是不错的~
  •   封面很好,正版.内容还在看,应该不错
  •   初中的孩子基本可以啃得动
  •   C++爱好者的福音。
  •   送货很快,但书看上去不象新书
  •   内容不错,还未看
  •   反正是正版吧,内容适合我这种初学者
  •   游戏编程的入门书
  •   这简直是介绍C++的教材,跟游戏关系有点少
  •   这是本书 适合有C++知识的人学习加巩固
  •   翻了几页看了看,还没有读。质量是不错的
  •   书还不错,发货速度有点慢,说是2号到,期待好久,结果3号下午才到,给个4分吧
  •   是我比较感兴趣的,很有意思,外国人的书大都很轻松
  •   这本书还好,我特喜欢!
  •   这本书我看过一部分内容,写的很清晰,更适合一时摸不着头脑的初学者使用
  •   是一本入门级的好书,值得推荐
  •   入门还可以,有时间练练也蛮不错
  •   总的来讲这个可不是教你写游戏的书,就是一本基础的C 编程书,内容不深,也不是很全面,不过对于想了解一下,能看懂一些C 代码的人来说还是可以的。
  •   还好 只适合C++初学者 本来以为能有游戏程序
  •   号称游戏,其实。。。不是心里的游戏,差的远了
  •   说的是一些控制台的小程序(百行左右吧),不建议买
  •   挺好的,有光盘的话更好了!
  •   实际上和普通的程序设计教材差别不大的。
  •   只适合c++菜鸟作参考,老鸟路过。
  •   书讲的很好,就是太基础了。。。其实内容跟游戏相关度不大
  •   初学者看起来应该会有些吃力,有些小细节凸显不出来,很容易漏掉。
  •   还可以,学C++编程的,值得一看,可以入门
  •   比较适合入门吧,基础
  •   里面的内容很适合初学者。
  •   就是c++编程,加了一个游戏的噱头而已
  •   我喜欢,初学者的福音
  •   不错的c++入门书,强烈推荐
  •   初学是很不错的
  •   很不错的,推荐阅读
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7