我正在尝试制作一个" Yahtzee" C#游戏。到目前为止,我已经创建了一个带有滚动按钮的表单,该表单从五个不同标签中的1,6个生成5个随机数。我不知道如何将这些随机数放入数组中。 这是我用于随机数滚动按钮的代码。
private void btnRoll_Click(object sender, EventArgs e)
{
Random random = new Random();
int randomNumber = random.Next(1, 7);
lblDie1.Text = Convert.ToString(randomNumber);
Random random2 = new Random();
int randomNumber2 = random.Next(1, 7);
lblDie2.Text = Convert.ToString(randomNumber2);
Random random3 = new Random();
int randomNumber3 = random.Next(1, 7);
lblDie3.Text = Convert.ToString(randomNumber3);
Random random4 = new Random();
int randomNumber4 = random.Next(1, 7);
lblDie4.Text = Convert.ToString(randomNumber4);
Random random5 = new Random();
int randomNumber5 = random.Next(1, 7);
lblDie5.Text = Convert.ToString(randomNumber5);
}
有人可以帮我解释如何将这些数字存储到数组中吗?
答案 0 :(得分:4)
不要重新创建Random
,它会使随机值严重倾斜。
// Simplest, not thread-safe
private static Random random = new Random();
private void btnRoll_Click(object sender, EventArgs e) {
lblDie1.Text = random.Next(1, 7).ToString();
lblDie2.Text = random.Next(1, 7).ToString();
lblDie3.Text = random.Next(1, 7).ToString();
lblDie4.Text = random.Next(1, 7).ToString();
lblDie5.Text = random.Next(1, 7).ToString();
}
要创建数组,您可以使用 Linq :
int[] numbers = Enumerable
.Range(0, 5)
.Select(x => random.Next(1, 7))
.ToArray();
// Let's print out the array:
Console.Write(String.Join(" ", numbers));