c#用特定字符填充我的2D数组

时间:2016-02-15 17:24:53

标签: c# arrays random 2d character

我大约一个星期前在学校开始编码并获得了一个20x20盒子的任务并随机填充字符B,V,M,SB,SL,_,F,P,K,L。我也必须编码角色在盒子里的机会。例如:B有8%的机会进入我的20x20盒子。我不确定如何让角色随机出现,并且根本不知道如何为这些角色编写一定的机会。

这是我到目前为止所做的:

int[,] objectArray = new int[20, 20];

// Horizontal numbers.
for (int i = 1; i <= 20; i++)
{
    if (i == 1)
        Console.Write("   " + i);
    else if (i < 9)
        Console.Write("  " + i);
    else
        Console.Write(" " + i);

}
Console.WriteLine("");

//Vertical numbers
for (int x = 0; x < 20; x++)
{
    if (x < 9)
        Console.Write((x + 1) + "  ");
    else
        Console.Write((x + 1) + " ");

    for (int y = 0; y < 20; y++)
    {
        Console.Write("_  ");
    }

    Console.WriteLine();
}

Console.Read();

我希望你能给我一些解决方法。

1 个答案:

答案 0 :(得分:0)

C#有很多内置的随机数生成器代码可以帮助你 - 我建议阅读这个问题,关于如何在某些值之间生成随机数: Produce a random number in a range using C#

如果然后将所选的每个字符(B,V,M,SB,SL,_,F,P,K,L.I)放在一个数组中,那么您可以使用随机数来引用它们已经生成。

以下某些代码会从您的字符串列表中打印出20个随机值 - 因此您可以根据需要对其进行调整。

string[] chars = new string[] { "B", "V", "M", "SB", "SL", "_", "F", "P", "K", "L" };
Random rand = new Random();
for (int i = 0; i < 20; i++) {
      Console.WriteLine(chars[rand.Next(0, chars.Length - 1)]);
}