Beginning C++ game programming

副标题:无

作   者:(美)Michael Dawson著;徐刚,薛雷,于健译

分类号:

ISBN:9787115137319

微信扫一扫,移动浏览光盘

简介

  本书从c++语言和游戏编程最基础的内容开始,讲述如何用c++语言进行游戏编程。全书分为10章,内容由浅入深,全面覆盖了c++语言的重要概念和编程技术。本书结构严谨,注重培养读者的实际动手能力。书中有关概念和知识的讲解均配有与游戏有关的小程序,每章的最后结合该章所学内容,给出一个独立的游戏。本书的最后以一个较庞大的多人游戏项目结束,该游戏应用了全书介绍的所有主要概念。此外,书中的每章均配有大量习题,可帮助读者评估对该章知识内容的掌握程度。.    本书适合大中专院校游戏开发或相关专业用作c++编程语言的基础教材。本书不要求读者具有c++编程或游戏开发方面的任何经验,通过学习本书,读者将具备用c++语言进行游戏编程的能力。..    交互性是游戏区别于其他娱乐形式的最大特性,而使得游戏具有交互性的正是幕后的编程工作。如果您准备游历游戏编程世界,那么本书将带领您开始这次旅行。在读者学习每一个编程概念的同时,都将能在本书的引导下编制一些小游戏来验证自己学到的新技能。在本书的最后,将带领读者结合书中所有主要概念,创建一个庞大的多玩家游戏。通过学习本书,读者能够充分掌握使用c++进行游戏编程的基础知识!...   

目录

目录
第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 Over2.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和减1操作符
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 测试true和false
2.2.3 将值解释为true或false
2.2.4 使用关系操作符
2.2.5 嵌套if语句
2.3 使用else子句
2.3.1 Score Rater 2.0程序简介
2.3.2 创建两个分支路径
2.3.3 使else子句与正确的if语句配对
2.4 使用switch语句
2.4.1 Menu Chooser程序简介
2.4.2 创建多个分支路径
2.5 使用while循环
2.5.1 Play Again程序简介
2.5.2 使用while循环实现循环
2.6 使用do循环
2.6.1 Play Again 2.0程序简介
2.6.2 使用do循环实现循环
2.7 使用break和continue语句
2.7.1 Finicky Counter程序简介
2.7.2 创建while(true)循环
2.7.3 使用break语句退出循环
2.7.4 使用continue语句跳回循环顶部
2.7.5 何时使用break和continue
2.8 使用逻辑操作符
2.8.1 Designers Network程序简介
2.8.2 使用逻辑与操作符
2.8.3 使用逻辑或操作符
2.8.4 使用逻辑非操作符
2.8.5 操作符的顺序
2.9 生成随机数
2.9.1 Die Roller程序简介
2.9.2 调用rand()函数
2.9.3 生成随机数生成器种子
2.9.4 计算某个范围内的数字
2.10 游戏循环
2.11 Guess My Number简介
2.11.1 应用游戏循环
2.11.2 开始游戏
2.11.3 创建猜测循环
2.11.4 结束游戏
2.12 小结
2.13 问题与答案
2.14 讨论题
2.15 练习题
第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 使用矢量
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 使用random shuffle()算法
4.4.4 使用sort()算法
4.4.5 使用merge()算法
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 Reference程序简介
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 Instruction()函数
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.4.6 Game Lobby程序简介
9.4.7 Player类
9.4.8 Lobby类
9.4.9 Lobby::AddPlayer()成员函数
9.4.10 Lobby::RemovePlayer()成员函数
9.4.11 Lobby::Clear()成员函数
9.4.12 operator<<()成员函数
9.4.13 main()函数
9.5 小结
9.6 问题与答案
9.7 讨论题
9.8 练习题
第10章 继承和多态:Blackjack
10.1 继承简介
10.1.1 Simple Boss程序简介
10.1.2 从基类派生
10.1.3 从派生类实例化对象
10.1.4 使用继承的成员
10.2 控制继承基础上的访问
10.2.1 Simple Boss 2.0程序简介
10.2.2 对类成员使用访问修饰符
10.2.3 在派生类时使用访问修饰符
10.3 调用和覆盖基类成员函数
10.3.1 Overriding Boss程序简介
10.3.2 调用基类构造函数
10.3.3 覆盖基类成员函数
10.3.4 调用基类成员函数
10.4 在派生类中使用重载的赋值操作符和复制构造函数
10.5 多态简介
10.5.1 Virtual Boss程序简介
10.5.2 定义虚拟成员函数
10.5.3 定义虚拟析构函数
10.6 使用抽象类
10.6.1 Abstract Creature程序
10.6.2 声明纯虚拟函数
10.6.3 从抽象类派生一个类
10.7 管理代码
10.7.1 Critter项目
10.7.2 使用一个文件
10.7.3 创建头文件
10.7.4 创建实现文件
10.7.5 创建应用程序文件
10.8 Blackjack游戏简介
10.8.1 设计类
10.8.2 设计游戏逻辑
10.8.3 Card类
10.8.4 Hand类
10.8.5 GenericPlayer类
10.8.6 Player类
10.8.7 House类
10.8.8 Deck类
10.8.9 Game类
10.8.10 main()函数
10.8.11 重载operator<<函数
10.9 小结
10.10 问题与答案
10.11 讨论题
10.12 练习题
附录A 创建第一个C++程序
附录B 操作符优先级
附录C 关键字
附录D ASCII表
附录E 转义序列
C'nx

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Beginning C++ game programming
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    亲爱的云图用户,
    光盘内的文件都可以直接点击浏览哦

    无需下载,在线查阅资料!

    loading icon