所以我正在试着做一个程序,它将决定两个玩家中的哪一个获胜,方法是每人掷出2个骰子,然后将这些骰子的值相加,并进行比较。我现在遇到的问题是,我的case select语句给我的错误是"Error 1 Operator '=‘is not defined for type 'System.Windows.Forms.PictureBox’and 'Integer'“我已经盯着这个问题看了三个小时了。有人能帮我吗?(是的,我是VB新手)
Private Sub btnRollDice_Click(sender As Object, e As EventArgs) Handles btnRollDice.Click
Dim intRandGen As New Random
Dim intPlayer1Num1 As Integer
Dim intPlayer1Num2 As Integer
Dim intPlayer2Num1 As Integer
Dim intplayer2Num2 As Integer
Static intPlayer1Total As Integer
Static intPlayer2Total As Integer
Static intTieTotal As Integer
'assign random integer from 1 through 6
intPlayer1Num1 = intRandGen.Next(1, 7)
intPlayer1Num2 = intRandGen.Next(1, 7)
intPlayer2Num1 = intRandGen.Next(1, 7)
intplayer2Num2 = intRandGen.Next(1, 7)
'display appropriate image in picDie1 for player one
Select Case player2PicDie1
Case 1
player2PicDie1.Image = picOneDot.Image
Case 2
player2PicDie1.Image = picTwoDots.Image
Case 3
player2PicDie1.Image = picThreeDots.Image
Case 4
player2PicDie1.Image = picFourDots.Image
Case 5
player2PicDie1.Image = picFiveDots.Image
Case 6
player2PicDie1.Image = picSixDots.Image
End Select
'display appropriate image in picDie2 for player one
Select Case Player1PicDie2
Case 1
Player1PicDie2.Image = picOneDot.Image
Case 2
Player1PicDie2.Image = picTwoDots.Image
Case 3
Player1PicDie2.Image = picThreeDots.Image
Case 4
Player1PicDie2.Image = picFourDots.Image
Case 5
Player1PicDie2.Image = picFiveDots.Image
Case 6
Player1PicDie2.Image = picSixDots.Image
End Select
'display appropriate image in picDie1 for player two
Select Case player2PicDie1
Case 1
player2PicDie1.Image = picOneDot.Image
Case 2
player2PicDie1.Image = picTwoDots.Image
Case 3
player2PicDie1.Image = picThreeDots.Image
Case 4
player2PicDie1.Image = picFourDots.Image
Case 5
player2PicDie1.Image = picFiveDots.Image
Case 6
player2PicDie1.Image = picSixDots.Image
End Select
'display appropriate image in picDie2 for player two
Select Case Player2PicDie2
Case 1
Player2PicDie2.Image = picOneDot.Image
Case 2
Player2PicDie2.Image = picTwoDots.Image
Case 3
Player2PicDie2.Image = picThreeDots.Image
Case 4
Player2PicDie2.Image = picFourDots.Image
Case 5
Player2PicDie2.Image = picFiveDots.Image
Case 6
Player2PicDie2.Image = picSixDots.Image
End Select
'Calculate and display total number of dots for player one
intPlayer1Total = intPlayer1Num1 + intPlayer1Num2
lblPlayer1Total.Text = intPlayer1Total.ToString()
'Calculate and display total number of dots for player two
intPlayer2Total = intPlayer2Num1 + intplayer2Num2
lblPlayer2Total.Text = intPlayer2Total.ToString()
If lblPlayer1Total.Text = lblPlayer2Total.Text Then
MessageBox.Show("You have tied")
End If
End Sub发布于 2014-12-14 04:03:12
如果我理解您的代码,您正在尝试在select...Case中分支图片类型而不是整型类型值
基于程序上下文,我认为您应该在整数上进行分支,如下所示:
Select Case intPlayer1Num1 'in place of intPlayer1Num1, you can use appropriate integer variable/value
Case 1
player2PicDie1.Image = picOneDot.Image
Case 2
player2PicDie1.Image = picTwoDots.Image
...发布于 2014-12-14 04:01:03
你创建了4个随机数,并将它们赋值给整数变量:
intPlayer1Num1 = intRandGen.Next(1, 7)
intPlayer1Num2 = intRandGen.Next(1, 7)
intPlayer2Num1 = intRandGen.Next(1, 7)
intplayer2Num2 = intRandGen.Next(1, 7)因此,您应该在Select Case语句中使用这些整数变量,而不是PictureBox变量。而且,您的图片图像在选择大小写时也是不正确的:
'display appropriate image in picDie1 for player one
Select Case intPlayer1Num1
Case 1
Player1PicDie1.Image = picOneDot.Image
Case 2
Player1PicDie1.Image = picTwoDots.Image
Case 3
Player1PicDie1.Image = picThreeDots.Image
Case 4
Player1PicDie1.Image = picFourDots.Image
Case 5
Player1PicDie1.Image = picFiveDots.Image
Case 6
Player1PicDie1.Image = picSixDots.Image
End Select
'display appropriate image in picDie2 for player one
Select Case intPlayer1Num2
Case 1
Player1PicDie2.Image = picOneDot.Image
Case 2
Player1PicDie2.Image = picTwoDots.Image
Case 3
Player1PicDie2.Image = picThreeDots.Image
Case 4
Player1PicDie2.Image = picFourDots.Image
Case 5
Player1PicDie2.Image = picFiveDots.Image
Case 6
Player1PicDie2.Image = picSixDots.Image
End Select
'display appropriate image in picDie1 for player two
Select Case intPlayer2Num1
Case 1
player2PicDie1.Image = picOneDot.Image
Case 2
player2PicDie1.Image = picTwoDots.Image
Case 3
player2PicDie1.Image = picThreeDots.Image
Case 4
player2PicDie1.Image = picFourDots.Image
Case 5
player2PicDie1.Image = picFiveDots.Image
Case 6
player2PicDie1.Image = picSixDots.Image
End Select
'display appropriate image in picDie2 for player two
Select Case intplayer2Num2
Case 1
Player2PicDie2.Image = picOneDot.Image
Case 2
Player2PicDie2.Image = picTwoDots.Image
Case 3
Player2PicDie2.Image = picThreeDots.Image
Case 4
Player2PicDie2.Image = picFourDots.Image
Case 5
Player2PicDie2.Image = picFiveDots.Image
Case 6
Player2PicDie2.Image = picSixDots.Image
End Selecthttps://stackoverflow.com/questions/27462357
复制相似问题