2012-04-18 9 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変数が変更されていないため、ペグは常に同じ場所に配置されます。なぜ外側whileループを追加しましたか? – Pete

+0

私はNumPegsを置く必要がある68個の柱があるため、while whileループを追加しました。これはconst = 68になります。この問題について、私はかなり長い間掘り下げていますか? – DorkMonstuh