首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >select-case in button事件中的意外行为

select-case in button事件中的意外行为
EN

Stack Overflow用户
提问于 2014-12-14 01:41:53
回答 2查看 42关注 0票数 0

所以我正在试着做一个程序,它将决定两个玩家中的哪一个获胜,方法是每人掷出2个骰子,然后将这些骰子的值相加,并进行比较。我现在遇到的问题是,我的case select语句给我的错误是"Error 1 Operator '=‘is not defined for type 'System.Windows.Forms.PictureBox’and 'Integer'“我已经盯着这个问题看了三个小时了。有人能帮我吗?(是的,我是VB新手)

代码语言:javascript
复制
    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
EN

回答 2

Stack Overflow用户

发布于 2014-12-14 04:03:12

如果我理解您的代码,您正在尝试在select...Case中分支图片类型而不是整型类型值

基于程序上下文,我认为您应该在整数上进行分支,如下所示:

代码语言:javascript
复制
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

...
票数 1
EN

Stack Overflow用户

发布于 2014-12-14 04:01:03

你创建了4个随机数,并将它们赋值给整数变量:

代码语言:javascript
复制
intPlayer1Num1 = intRandGen.Next(1, 7)
intPlayer1Num2 = intRandGen.Next(1, 7)
intPlayer2Num1 = intRandGen.Next(1, 7)
intplayer2Num2 = intRandGen.Next(1, 7)

因此,您应该在Select Case语句中使用这些整数变量,而不是PictureBox变量。而且,您的图片图像在选择大小写时也是不正确的:

代码语言:javascript
复制
'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 Select
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27462357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档