首页 > 解决方案 > 电子游戏只是一个大的while循环吗?

问题描述

视频游戏只是 C++ 中的 while 循环中的一个大笨蛋吗?制作 AAA 级视频游戏的复杂代码非常复杂。但实际上,当 main() 被调用时,是否只有一个函数在一个大的 while 循环中运行所有其他函数?

我拥有计算机科学学位,我什至不知道这是否会导致内存效率极低。我的意思是不会超过 O^2 或其他任何值。基本上是两个嵌套的 for 循环。

也许他们使用对数算法。我什至不知道那是什么意思。除了我猜对数,算出一个数字的平方。我不知道这对人类有什么帮助。

但说真的,Triple A 视频游戏 C++ 代码是什么样的。它可能真的很奇怪或异国情调。它肯定不是您在有关 C++ 的培训视频中阅读或看到的任何内容。

为什么每个 C++ 培训材料都有一个 Employee 类?哇。做一个太空船类。

员工是这个星球上最无聊的事情。流浪班会更好,更有趣。

标签: c++

解决方案


是的,游戏通常会运行一个游戏循环。这与大 O 无关。O(N^2)描述了一种算法,其资源使用(通常表示为时间,但有时表示内存)随输入大小呈二次方增长。游戏循环不依赖于任何输入的大小;它被设计为永远运行(或者更确切地说,直到用户停止播放)。但是,由于游戏循环需要快速,因此对从游戏循环中调用的内容有一些限制,以使游戏不会卡顿;这些子程序确实有输入(例如要渲染的精灵、需要测试碰撞的游戏对象……),并且通常希望确保这些子程序尽可能高效地运行——因此大 O 是适用的。


推荐阅读