これを他にどのように説明するかわからないので、タイトルはほとんど問題を説明しています。
ランダムは、ループのすべての部分で再初期化されているわけではありません。これは、私が常に他のクラスから呼び出すクラスの静的メンバーです。
カスタムシードを使用していません。
初期化コードは次のとおりです。
public static Random random = new Random();
for (int x = 0; x < 75; x++)
{
if (main.random.Next(11) == 1)
{
tiles[heightMap[x] - 1][x] = 4;
tiles[heightMap[x] - 2][x] = 4;
tiles[heightMap[x] - 3][x] = 4;
tiles[heightMap[x] - 4][x] = 4;
tiles[heightMap[x] - 5][x] = 4;
tiles[heightMap[x] - 5][x - 1] = 5;
tiles[heightMap[x] - 6][x - 1] = 5;
tiles[heightMap[x] - 6][x] = 5;
tiles[heightMap[x] - 5][x + 1] = 5;
tiles[heightMap[x] - 6][x + 1] = 5;
}
}
これ(これは素晴らしい方法ではないことを私は知っています-それは初歩的で一時的なものです)はツリーを生成します。
ただし、私の地形は、多くのクラスター化された木があり、次のように見えることがよくあります。
☁☁☁☁☁☁☁☁☁☁
なぜこれが起こっているのかについて誰かが洞察を与えることができますか?System.Security.Cryptography.Randomクラスを使用するよりも優れた代替手段はありますか?
ツリーごとに平均9つのギャップがあると思いますが、7つ、次に3つのツリーが密集しているようなものです。