2012-04-18 7 views
0

나는 기둥을이 기둥 사이에 번갈아 놓는 보드에 기둥을 놓으려고합니다. (나는 제대로 설명하지 못했을 것입니다.) 그러나 예를 들어 행 1에 9 기둥이 있고 행 2가됩니다. 8 개의 기둥이있다. 중첩 된 for 루프에서 시도해 보려고했으나 블록 내에서 코드를 이동하는 방법을 알지 못했습니다. 순간기둥 배치

나는이있다 : 여기 내 변수 :

float PegPosX = -1.0f; 
float PegYStartPos; 
float PegPosY = 6.0f; 
int Pegs = 0; 
int PegsInRow = 8; 

while(Pegs < NumPegs){ 
    for (int row = 0; row < PegsInRow; ++row) { 
    int num_cols = (row % 2 == 0) ? 9 : 8; 
    PegPosY -= 0.5f; 
     for (int col = 0; col < num_cols; ++col){ 
      PegPosX += 1.0f; 
      displayPegs[Pegs].PegPosition(PegPosX, PegPosY); 
     } 
    } 
    ++Pegs; 
} 
+6

그래, 당신은 '나는 아직도 수 있습니다 광산에 코드를 적응하기 위해 시도했지만 한 당신에게 피트 감사 제대로 –

답변

0
for (int row = 0; row < num_rows; ++row) { 
    int num_cols = (row % 2 == 0) ? 9 : 8; 
    for (int col = 0; col < num_cols; ++col) { 
     placePillar(...); 
    } 
} 
+0

를 설명하지 않았다 내 화면에 기둥을 보지 마라. 내 게시물을 편집하고 코드가 포함 된 시간이 있다면 잘못 적응했을 수도 있습니다. 감사합니다 :) – DorkMonstuh

+0

내부 루프에서 Pegs 변수가 변경되지 않으므로 Pegs는 항상 같은 위치에 배치됩니다. 왜 외부 while 루프를 추가 했습니까? – Pete

+0

내가 NumPegs를 내려 놓아야하는 68 개의 기둥이 68 개가있는 const이므로, while while 루프를 추가했습니다.이 문제에 대해 어떻게 생각 하시나요? – DorkMonstuh

관련 문제