2012-04-18 2 views
0

Я пытаюсь разместить столбы на доске, которые чередуются между этими количествами столбов (я не думаю, что я правильно объяснил), но, например, в строке 1 у него будет 9 столбов и ряд 2, это будет имеют 8 столбов. Я хотел попробовать сделать это во вложенном цикле, но не совсем уверен, как обойти код внутри блоков.Размещение столбов

На данный момент у меня есть это: вот мои переменные:

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 не изменяется во внутренних петлях, поэтому колышки всегда будут расположены в одном и том же месте. Почему вы добавили внешний цикл while? – Pete

+0

Я добавил внешний цикл while, потому что у меня есть 68 столбов, которые мне нужно положить NumPegs, это const, который равен = 68. Как бы вы поступили по этой проблеме, я довольно долго размышлял об этом. – DorkMonstuh