1

嘿伙计们首先感谢您的时间

我正在编写棋盘游戏,有一次我需要 6 个骰子。

对于 1 个骰子,我做了以下代码

Dim Dobbel as integer
Dim RandomNumber as new Random

Dobbel = RandomNumber.Next(1, 6)

        Select Case Dobbel
            Case 1
                Steen1.Image = Game.My.Resources.Een

            Case 2
                Steen1.Image = Game.My.Resources.Twee

            Case 3
                Steen1.Image = Game.My.Resources.Drie

            Case 4
                Steen1.Image = Game.My.Resources.Vier

            Case 5
                Steen1.Image = Game.My.Resources.Vijf

            Case 6
                Steen1.Image = Game.My.Resources.Zes

        End Select

这样它就可以使用 1 个骰子(图片框得到正确的图片)

现在我想要5个骰子来做上面的事情。我一直在尝试使用“for each”语句,但我无法让它发挥作用。请帮帮我

PS这是我第一次为我做错的事情道歉

4

2 回答 2

1

假设“无法让它工作”意味着您不知道如何循环六个 PictureBox 控件,请尝试将它们放入一个数组中:

For Each pb As PictureBox In New PictureBox() {steen1, steen2, steen3, steen4, steen5, steen6}
  Select Case RandomNumber.Next(1, 7)
    Case 1 : pb.Image = Game.My.Resources.Een
    Case 2 : pb.Image = Game.My.Resources.Twee
    Case 3 : pb.Image = Game.My.Resources.Drie
    Case 4 : pb.Image = Game.My.Resources.Vier
    Case 5 : pb.Image = Game.My.Resources.Vijf
    Case 6 : pb.Image = Game.My.Resources.Zes
  End Select
Next

这假设您有六个名为 steen# 等的 PictureBox。

另请注意,我将您的随机范围更改为 1 - 7。最大值减少了 1,因此在您的代码中,您永远不会为图像获得数字 6。

于 2013-11-11T16:02:30.833 回答
0
Dim Dobbel(6) as integer
Dim RandomNumber as new Random
for (int = 0; i < 5; i++)
{
    Dobbel(i) = RandomNumber.Next(1, 6)
}

For Each i As Integer In Dobbel
{
        Select Case Dobbel(i)
            Case 1
                Steen(i).Image = Game.My.Resources.Een

            Case 2
                Steen(i).Image = Game.My.Resources.Twee

            Case 3
                Steen(i).Image = Game.My.Resources.Drie

            Case 4
                Steen(i).Image = Game.My.Resources.Vier

            Case 5
                Steen(i).Image = Game.My.Resources.Vijf

            Case 6
                Steen(i).Image = Game.My.Resources.Zes

        End Select
}

当然,必须将 Steen 声明为数组。

于 2013-11-11T16:01:17.080 回答