我試圖用c#做某種遊戲,它的loto遊戲有10列。計算機有產生6個號碼,以填補10列,我的代碼是這樣的:c中的Loto遊戲#
public static int[] Get()
{
int[] a = new int[6];
System.Random r = new System.Random();
bool flag; int val;
for (int i = 0; i < a.Length; ++i)
{
flag = false;
do
{
val = r.Next(1, 50);
for (int k = 0; k < i; ++k)
if (a[k] == a[i])
{
flag = true;
break;
}
a[i] = val;
} while (flag);
}
return a;
}
public static void Main()
{
int[] a;
for (int i = 0; i < 10; ++i)
{
a = Get();
foreach (int x in a)
Console.Write("{0} ", x);
Console.WriteLine();
}
}
但它提供了相同的結果,像
4 44 19 44 22 7
4 44 19 44 22 7
4 44 19 44 22 7
4 44 19 44 22 7
4 44 19 44 22 7
4 44 19 44 22 7
4 44 19 44 22 7
4 44 19 44 22 7
4 44 19 44 22 7
22 29 28 15 33 6
有啥錯在我的代碼。
謝謝
[偶然的遭遇並非如此隨機](http://stackoverflow.com/questions/2727538/random-encounter-not-so-random) –