グリッドのようにゲームエリアにさまざまなオブジェクトを配置しようとしていますが、このオブジェクトとその位置を作成するメソッドに問題があります。新しい位置をそれぞれリストに保存してから、新しい位置をリスト内の位置と比較してから、ゲームエリアのグリッド内の新しい位置として使用できるようにしています。それぞれのランダムな位置を1回だけ使用したいと思います。ヘルプが高く評価されています!ありがとう!
おそらくこれを行うためのより良い方法がありますか?
public void AddItemsToGameArea(ContentManager content)
{
foreach (string buildingPart in contentHouseOne)
{
Vector2 newPosition = NewRandomPosition;
if (!checkPreviousPositions)
{
listHouseParts.Add(new HousePart(content, buildingPart, newPosition));
listUsedPosition.Add(newPosition);
checkPreviousPositions = true;
}
else
{
for (int i = 0; i < listUsedPosition.Count(); i++)
{
// Check??
}
}
}
}
public Vector2 NewRandomPosition
{
get
{
return new Vector2(gridPixels * Game1.random.Next(1, 8), gridPixels * Game1.random.Next(1, 8));
}
}