如果条件无法解决,尽管条件得到满足C ++

时间:2016-02-27 15:41:31

标签: c++ if-statement

我正在完成一项大学任务,我必须重新创建经典的Frogger游戏。轮胎运动有问题。

for (int tZ = 0; tZ < kTyreColumnLength; tZ++)
{
    for (int tX = 0; tX < kTyreRowLength; tX++)
    {
        eachTyre = tX + tZ;
        tyre[eachTyre] = tyreMesh->CreateModel(0, -2.50, 0);
        tyre[eachTyre]->Scale(10);
        tyre[eachTyre]->SetX(tyreXs[tX]);
        tyre[eachTyre]->SetZ(tyreZs[tZ]);

        if (tZ % 2 == 0)
        {
            tyreMovingLeft[eachTyre];
        }
    }

}

基本上,我拉轮胎的方式是通过嵌套for循环。内环拉3个轮胎,并为每一行(外环)重复

然后我尝试分配每个“偶数”行轮胎,一个布尔值来跟踪它的方向。

tZ%2 == 0 每次外部循环迭代时,IS正确地解析为true / false,调试器表示满足条件IS,但它永远不会执行。

2 个答案:

答案 0 :(得分:1)

您实际上从未执行过任务,只是将数组编入索引。

tyreMovingLeft[eachTyre];

你可能意味着

tyreMovingLeft[eachTyre] = true;

答案 1 :(得分:1)

问题在于内部块没有任何影响:

 tyreMovingLeft[eachTyre];

因此它被编译器优化了。是不是表示某些赋值或将结果传递给某个函数?