文字列を含む単純な配列contentHouseOne[]を使用します。しかし、Do / Whileループでは、機能していません。新しいオブジェクトを作成するときに、コードが文字列であることを理解していないようです!?以下に示すように文字列をハードコーディングすると機能します。ヘルプが高く評価されています!ありがとう!
これは機能していません:
listHouseParts.Add(new HousePart(content, contentHouseOne[i], newPosition));
しかし、これは機能します:
listHouseParts.Add(new HousePart(content, "100x100", newPosition));
編集:
配列を宣言するためのコードを次に示します
string[] contentHouseOne = new string[] { "ruta100x100Red",
"ruta100x100Grey",
"ruta100x100Green",
"ruta100x100Yellow",
"ruta100x100Blue" };
bool[,] occupiedPositions = new bool[500,500];
すべてのグリッド位置をfalseに設定するためのコードを次に示します。
for (int i = 0; i < gridCol; i++)
for (int ii = 0; ii < gridRow; ii++)
occupiedPositions[i, ii] = false;
そして最後にここに私が問題を抱えているコードがあります
int i = 0;
do
{
Vector2 newPosition = NewRandomPosition;
if (occupiedPositions[(int)newPosition.X, (int)newPosition.Y] == false)
{
listHouseParts.Add(new HousePart(content,
contentHouseOne[i], newPosition));
occupiedPositions[(int)newPosition.X, (int)newPosition.Y] = true;
i++;
}
}
while (i <= 5);