おそらく非常に単純な質問がありますが、解決策がわかりません。
まず、次のコードを含む Seed という名前の構造体があります。
struct Seed
{
int x, y;
int i, j;
int Type;
};
次に、次のように 2D 配列とキューをそれぞれ作成します。
Seed Grid[ROW][COL];
std::queue<Seed> SeedsToUpdate;
グリッドにループを設定します。
void CApp::LoopSeeds(int function, int Type)
{
for(int i = 0;i < ROW;i++)
{
for(int j = 0;j < COL;j++)
{
switch (function)
{
case SET:
SetSeed(i, j, Type);
break;
case DRAW:
DrawSeed(i,j);
break;
case GROW:
GrowSeed(i,j,Type);
}
}
}
}
次に、配列内の個々のシードを などの他の型に設定しGREEN
ます。GREEN
次に、配列を調べて、次の型を持つすべての配列要素でキューを埋めます。
void CApp::BuildQueue()
{
for(int i = 0;i < ROW;i++)
{
for(int j = 0;j < COL;j++)
{
if (Grid[i][j].Type != SEED_EMPTY)
{
SeedsToUpdate.push(Grid[i][j]);
}
}
}
}
この時点で、すべてが良好です(と思います)。ただし、私がやりたいことは次のとおりです。キュー内のシードごとに、配列内の隣接セルを編集します。 Grid[i+1][j].Type = GREEN;
そして、ここに私の問題があります:上記のコードを考えると、どうすればいいですか?
お待ち頂きまして、ありがとうございます。