问题:创建一个模拟滚动一对骰子的应用程序。当用户单击按钮时,应用程序应生成两个随机数,每个数字在1到6的范围内,以表示骰子的值。使用PictureBox控件显示骰子。
我目前有6个图片框,其图片框名为“dice1PictureBox”,“dice2PictureBox”等,最多6个。
这是我到目前为止编写的代码。在这一点上我完全迷失了。我也非常擅长编程,非常感谢任何帮助。提前谢谢。
private void rollButton_Click(object sender, EventArgs e)
{
int diceOne;
int diceTwo;
Random rand = new Random();
diceOne = rand.Next(3);
if (diceOne == 0)
{
diceOne.Visible = true;
}
else (diceOne == 1)
{
diceOne.Visible = true;
}
else (diceOne == 2)
{
diceOne.Visible = true;
}
diceTwo = rand.Next(4) + 6;
if (diceOne == 3)
{
diceOne.Visible = true;
}
else (diceOne == 4)
{
diceOne.Visible = true;
}
else (diceOne == 5)
{
diceOne.Visible = true;
}
}
}
}
答案 0 :(得分:2)
让我们来看看这里的一般想法。我不会打扰你现在正在做的事情,因为它不会做你想做的事情。周期。
你需要的只是两个 PictureBoxes,每个模具一个。然后,您有6个图像,每个图像对应一个可能的值。我建议将图像保存在数组中或者可能是ImageList(无论哪种方式,我们称之为images
);它会使事情变得更简单。
滚动时,对于每个骰子,你会说roll = rand.Next(6);
之类的东西。然后roll
将对应于数组中图像的索引。您将相应PictureBox的Image
设置为images[roll]
(如果您使用的是ImageList,则设置为images.Images[roll]
)。无需弄乱Visible
;两个PictureBox将始终可见。
请注意,当您考虑roll
的实际值时,它将从0到5.添加1以获取人们期望看到的值。
答案 1 :(得分:1)
一些指针没有完全告诉你如何编码它,因为这似乎是一个家庭作业。
Visible
设置int
属性。看起来你混淆了代表模具价值的整数和图像。