【发布时间】:2013-02-08 02:34:02
【问题描述】:
我正在观看 Mojam(直播游戏编程,HumbleBundle),我在那里看到了这段代码
(here是代码截图)
我想知道最后一个 if 语句(即!wasmoving && ismoving)中的条件表达式如何评估为真(确实如此,程序员编译了它并且动画正在运行)。
我已经在我的编译器中尝试过这个
#include <iostream>
#include <cstdlib>
using namespace std;
int main(){
bool ismoving=5>0;
bool wasmoving=ismoving;
cout << "ismoving"<< ismoving << " oraz wasmoving " << wasmoving << endl;
if (!wasmoving && ismoving) cout << "1st = true 2nd = true" << endl;
system("PAUSE");
return 0;
}
当然,如果最后一个 if 采用错误路径,则什么也不会发生。 谁能解释一下屏幕截图中的代码是如何工作的?
【问题讨论】:
-
...你错过了一个关键部分,
ismovingget 被分配给新的东西:isMoving = Math.abs(velocity.x) > 0 -
在代码中
isJumping和isMoving在您从它们获取值后发生更改。 -
第一。我将顺序更改为错误的,第二个布尔 ismoving 被声明为错误。现在我明白它是如何工作的。谢谢
标签: c++ if-statement boolean boolean-logic boolean-operations