【发布时间】:2014-07-11 09:13:35
【问题描述】:
我刚刚开始编写 C 语言游戏编程教程的初学者指南。我对下面的代码有点困惑。
在主游戏中,OverTick 设置为零,然后我们就有了游戏结束时的情况
case GAME_OVER:
printStatus("GAME OVER!!! The evil DarkLord was defeated");
if (++gameOverTick % 100 == 0){
status = PRINT_GAME_WELCOMESCREEN; // go back to welcome screen
gameOverTick = 0; // reset gameOverTick
}
我只想知道 ++ (pre-inc) 操作在 gameOverTick 上的作用。它是在检查 if 时将 gameOverTick 设置为 1,还是以某种方式将其设置为 0。我知道 post-inc ++ 是如何工作的,但这对我来说是一个新的。
谢谢
【问题讨论】:
-
gameOverTick 变为 100 时重置为 0。
-
如果
gameOverTick仅在此处修改(因此始终介于 0 和 100 之间),则除法 和 必须是重置变量的最昂贵方法当它达到某个上限时。 -
和 post-inc 一样,只是在表达式中使用的值加上了
1。在大多数情况下,这可以通过递增变量然后读取它来实现。
标签: c increment pre-increment