2016-02-27 40 views
0

我正在做一個大學任務,其中我必須重新創建經典的青蛙遊戲。輪胎運動有問題。如果陳述沒有解決條件是否滿足C++

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正確解析爲真/假,調試器說滿足條件,但它永遠不會執行。

+1

你對tyreMovingLeft沒有做任何事情 – 2016-02-27 15:45:28

+0

我就在我的代碼中。根據調試器的問題 –

+0

你怎麼知道「它永遠不會執行」?它沒有什麼可執行的...... –

回答

1

您從未真正執行任務,您只是對您的數組編制索引。

tyreMovingLeft[eachTyre]; 

你可能是指

tyreMovingLeft[eachTyre] = true; 
+0

雖然'tyreMovingLeft'是例如'bool'的映射,那麼結果已經是'tyreMovingLeft [eachType] = false;'。像往常一樣,該問題不包含MCVE,因此我們無法可靠地回答它。 –

1

蘇氨酸的問題是,內部塊沒有任何效果:

tyreMovingLeft[eachTyre]; 

所以它是由編譯器優化掉了。不是一定意味着一些任務或將結果傳遞給某個函數嗎?

+0

雖然'tyreMovingLeft'是例如'bool'的映射,那麼結果是'tyreMovingLeft [eachType] = false;'。像往常一樣,該問題不包含MCVE,因此我們無法可靠地回答它。 –