《C++游戏编程入门(第4版)》——2.14 问与答

2.14 问与答

C++游戏编程入门(第4版)
问:必须使用关键字true和false吗?

答:不一定,但最好这样做。在有关键字true和false之前,程序员经常使用1代表true,0代表false。然而,既然有了true和false,最好使用它们而不是过时的1和0。

问:可以将true或false以外的值赋给bool型变量吗?

答:可以。可以将表达式赋给bool型变量,变量将存储表达式的真或假。

问:可以使用switch语句对某个非整数值进行验证吗?

答:不可以。switch只能用于可以解释成整数的值(包括char型值)。

问:如何不使用switch语句来完成单个非整数值与多值的比较?

答:可以使用if语句序列。

问:什么是无限循环?

答:无论用户输入什么也不会终止的循环。

问:为什么无限循环不好?

答:因为陷入无限循环的程序不会自行终止,它必须由操作系统来关闭。最糟糕的情况是,用户必须通过关闭计算机来终止陷入无限循环的程序。

问:编译器不会捕获无限循环并报错吗?

答:不会。无限循环是逻辑错误,即那种必须由程序员发现的错误。

问:如果无限循环不好,那while(true)也不好吗?

答:不是的。程序员创建一个while循环时应当提供循环终止方式(通常通过break语句)。

问:为什么程序员要创建while(true)循环?

答:while(true)循环经常用于程序主循环,如游戏主循环。

问:为什么有些人认为使用break语句退出循环不是好的编程方式?

答:因为break语句的滥用会让人难以理解循环的终止条件。然而,有时在while (true)循环中使用break语句可能比使用传统方式创建同样的循环更加清晰易懂。

问:什么是伪随机数?

答:通常由数学公式生成的随机数。所以,伪随机数序列不是真正的随机数。但它对于大多数任务来说已经足够好了。

问:为随机数生成器确定种子是什么意思?

答:是指给随机数生成器提供一个种子,如一个整数,它能影响生成器产生随机数的方式。如果不为随机数生成器确定种子,那么每次程序开始运行时都会产生相同的数列。

问:是不是在使用随机数生成器之前,总是应该为它们确定种子?

答:不一定。例如,可能为了测试的目的,希望每次程序运行时都产生一模一样的“随机”数序列。

问:如何生成更加真实的随机数?

答:有这样的第三方库,它们可以产生比C++编译器更好的伪随机数。

问:所有游戏都使用游戏主循环吗?

答:游戏主循环只是一种看待游戏事件流的方式。这种模型适合特定的游戏并不意味着游戏必须以这种循环执行主要代码的形式实现。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

时间: 2024-08-30 12:09:39

《C++游戏编程入门(第4版)》——2.14 问与答的相关文章

《Android游戏编程入门经典》——1.8节问与答

1.8 问与答Android游戏编程入门经典问:在非常短的时间内开发并发布了Android操作系统,并且它快速从Apple的iOS抢夺了市场份额.从长期来看,此快速发展会带来什么后果? 答:答案不唯一. 问:Android操作系统是开源软件,因此可免费获得该操作系统的源代码.这是优势还是劣势?请解释一下您的理由. 答:答案不唯一.

《Android游戏编程入门经典》——4.6节问与答

4.6 问与答Android游戏编程入门经典问:开发出售的应用程序或游戏时,可以使用模拟器,还是应该在实际Android设备上测试代码?请讨论赞成或反对的原因. 答:答案不唯一. 问:市场上有运行各种Android操作系统的众多设备,为了获得兼容性,需要采用哪种方法? 答:答案不唯一.

《C++游戏编程入门(第4版)》——1.5 声明和初始化变量

1.5 声明和初始化变量 C++游戏编程入门(第4版) 变量代表了计算机内存的某一部分,该部分被保留下来用于存储.检索和操作数据. 如果需要记录玩家的得分,则可以为它专门创建一个变量.这样一来,就可以读取并显示玩家得分.如果玩家将空中的外星敌人击毙,还可以将得分更新. 1.5.1 Game Stats程序简介 Game Stats程序显示在太空射击游戏中需要记录的诸如玩家得分.击毁敌人数目以及玩家防护盾是否开启等信息.该程序使用了一组变量来完成这些任务.程序如图1.5所示. 图1.5 游戏中每条

《C++游戏编程入门(第4版)》——1.8 Lost Fortune简介

1.8 Lost Fortune简介 C++游戏编程入门(第4版) 本章最后一个项目Lost Fortune是一个拟人化的探险游戏.在游戏中,玩家输入一些信息,计算机把这些信息扩展成一个探险故事.程序的运行示例如图1.9所示. 图1.9 故事由玩家提供的细节构成 这里不一次展示全部代码,而是每次给出一部分.从Cengage Learning网站(www.cengageptr.com/ downloads)上可以下载到该程序的代码.程序位于Chapter 1文件夹中,文件名为lost_fortun

《C++游戏编程入门(第4版)》——1.9 本章小结

1.9 本章小结 C++游戏编程入门(第4版) 本章介绍了以下概念: C++是编写一流游戏的主要编程语言. C++程序由一系列的C++语句组成. C++程序的基本生命周期包括构思.设计.源代码.目标文件和可执行文件. 编程错误包括3类:编译错误.链接错误和运行时错误. 函数是一组能完成某些任务并返回一个值的一组程序语句. 每个程序都必须包含main()函数,它是程序的运行起始点. include指令告诉预处理器在当前文件中包含另一个文件. 标准库是一些文件的集合.程序文件可以包含这些文件来实现像

《C++游戏编程入门(第4版)》——2.11 理解游戏主循环

2.11 理解游戏主循环 C++游戏编程入门(第4版) 游戏主循环是游戏中事件流的一般表示方式.事件的核心部分要重复执行,因此称之为循环.尽管不同游戏的主循环的实现不尽相同,但是几乎所有不同种类的游戏的基本结构是一样的.无论是简单的太空射击游戏,还是复杂的角色扮演游戏(Role-Playing Game, RPG),游戏通常由游戏主循环中相同的重复部分组成.游戏主循环如图2.13所示. 图2.13 游戏主循环描述了几乎适用于任何游戏的基本事件流 下面解释游戏主循环的各个部分: 初始化设置.这部分

《C++游戏编程入门(第4版)》——1.2 编写第一个C++程序

1.2 编写第一个C++程序 C++游戏编程入门(第4版)到此为止,我们已经介绍了足够多的理论知识.现在来实践编写第一个C++程序.麻雀虽小,五脏俱全.该程序同样演示了在控制台窗口中显示文本的方法. 1.2.1 Game Over程序简介 程序员在学习新语言时,编写的第一个程序便是经典的Hello World程序,在屏幕上显示Hello World.Game Over程序打破了这个传统,显示的是Game Over!.该程序的运行结果如图1.2所示. 图1.2 您的第一个C++程序显示的是计算机游

《C++游戏编程入门(第4版)》——1.7 使用常量

1.7 使用常量 C++游戏编程入门(第4版)常量 是经过命名的无法修改的值.如果程序中频繁地使用到不变化的值,常量就很有用.例如,在编写太空射击游戏时,每个在空中击毁的外星人都值150分,那么就可以定义一个名为ALIEN_POINTS的常量,其值为150.然后每次需要使用外星人的分数时,就可以使用ALIEN_POINTS而不是数字150. 常量有两大优势.首先,它让程序更加清晰易懂.一眼看到ALIEN_POINTS,就能知道它的意思.如果查看的代码中有150,我们也许并不知道它代表的含义.第二

《C++游戏编程入门(第4版)》导读

前言 C++游戏编程入门(第4版)好莱坞能带来最好视觉效果.声乐效果以及纯粹的兴奋,顶级的计算机游戏也完全可以与其媲美.但是游戏这种娱乐方式与其他方式不同,它们能让玩家一连好几个小时守在屏幕跟前.能让游戏如此与众不同并且引人入胜的原因在于交互性.在计算机游戏中,我们不是坐下来观看主人公如何与怪物搏斗,而是自己担任主角.实现这种交互性的关键在于编程.编程让外星生物.外星人进攻中队或整支敌人军队在不同情况下对玩家做出不同的反应.编程让游戏的故事情节能够以新的方式展开.实际上,作为编程的结果,游戏可能