问题是这个矩阵显示一个符号重复3次,我只需要显示符号2次, 如果有人可以帮助我会很棒。 我需要这个用于记忆游戏。
Random rand = new Random();
string[,] Matrix = { { "!", "!", "@", "@" }, { "$", "$", "#", "#" }, { "%", "%", "^", "^" }, { "&", "&", "*", "*" } };
int row = 0;
int column = 0;
int row2 = 0;
int column2 = 0;
for (int inc = 0; inc < 51; inc++)
{
row2 = rand.Next(4);
column2 = rand.Next(4);
Matrix[row, column] = Matrix[row2, column2];
row = row2;
column = column2;
}
Console.WriteLine("\n\n\n {0} | {1} | {2} | {3}", Matrix[0, 0], Matrix[0, 1], Matrix[0, 2], Matrix[0, 3]);
Console.WriteLine(" ----|----|----|----");
Console.WriteLine(" {0} | {1} | {2} | {3}", Matrix[1, 0], Matrix[1, 1], Matrix[1, 2], Matrix[1, 3]);
Console.WriteLine(" ----|----|----|----");
Console.WriteLine(" {0} | {1} | {2} | {3}", Matrix[2, 0], Matrix[2, 1], Matrix[2, 2], Matrix[2, 3]);
Console.WriteLine(" ----|----|----|----");
Console.WriteLine(" {0}| {1}| {2}| {3} \n", Matrix[3, 0], Matrix[3, 1], Matrix[3, 2], Matrix[3, 3]);
Console.ReadLine();
答案 0 :(得分:1)
作为快速解决方案,您可以替换以下代码:
Matrix[row, column] = Matrix[row2, column2];
与
char c = Matrix[row, column];
Matrix[row, column] = Matrix[row2, column2];
Matrix[row2, column2] = c;
在您的原始代码中,您将失去Matrix[row, column]
处的值,而您必须将其与[row2, column2]
处的值互换。
答案 1 :(得分:0)
据我了解,你正在开发&#34;找到这对&#34;记忆训练游戏?
我想推荐你的返工算法。
你可以使用这个语句来生成小的随机数:
1)
int randomNumber = DateTime.Now.Ticks % 4
要么
2)
int randomNumber = rand.Next(100000) % 4;
注意:如果你想获得重新算法的帮助,我可以帮助你。