为15次洗牌游戏提供合适的代码

时间:2013-07-01 13:25:03

标签: wpf vb.net visual-studio-2010

我正在尝试在15中构建一个VB号码随机播放游戏。

稍后,我必须将15件提交给完整的图片。

在最短时间,我尝试用数字构建它。在我得到这个消息之前一切正常:

Conversion from string "" to type 'Double' is not valid.

我排好了:

 If butt2.Content = "" Then

这是我的代码:

<pre lang="vb">Class MainWindow

    Private Sub btn1_Click(sender As Object, e As RoutedEventArgs) Handles btn1.Click
        '2,4
        checkBtn(btn1, btn4)
        checkBtn(btn1, btn2)
        chechSolved()
    End Sub

    Private Sub btn2_Click(sender As Object, e As RoutedEventArgs) Handles btn2.Click
        '1,3,5
        checkBtn(btn2, btn1)
        checkBtn(btn2, btn3)
        checkBtn(btn2, btn5)
        chechSolved()
    End Sub

    Private Sub btn3_Click(sender As Object, e As RoutedEventArgs) Handles btn3.Click
        '2,6
        checkBtn(btn3, btn2)
        checkBtn(btn3, btn6)
        chechSolved()
    End Sub

    Private Sub btn4_Click(sender As Object, e As RoutedEventArgs) Handles btn4.Click
        '1,5,7
        checkBtn(btn4, btn1)
        checkBtn(btn4, btn5)
        checkBtn(btn4, btn7)
        chechSolved()
    End Sub

    Private Sub btn5_Click(sender As Object, e As RoutedEventArgs) Handles btn5.Click
        '2,4,6,8
        checkBtn(btn5, btn2)
        checkBtn(btn5, btn4)
        checkBtn(btn5, btn6)
        checkBtn(btn5, btn8)
        chechSolved()
    End Sub

    Private Sub btn6_Click(sender As Object, e As RoutedEventArgs) Handles btn6.Click
        '3,5,9
        checkBtn(btn6, btn3)
        checkBtn(btn6, btn5)
        checkBtn(btn6, btn9)
        chechSolved()
    End Sub

    Private Sub btn7_Click(sender As Object, e As RoutedEventArgs) Handles btn7.Click
        '4,8
        checkBtn(btn7, btn4)
        checkBtn(btn7, btn8)
        chechSolved()
    End Sub

    Private Sub btn8_Click(sender As Object, e As RoutedEventArgs) Handles btn8.Click
        '5,7,9
        checkBtn(btn8, btn5)
        checkBtn(btn8, btn7)
        checkBtn(btn8, btn9)

        chechSolved()
    End Sub

    Private Sub btn9_Click(sender As Object, e As RoutedEventArgs) Handles btn9.Click
        '6,8
        checkBtn(btn9, btn6)
        checkBtn(btn9, btn8)

        chechSolved()
    End Sub

    Sub checkBtn(ByVal butt1 As Button, ByVal butt2 As Button)

       If butt2.Content = "" Then
            butt2.Content = butt1.Content
            butt1.Content = ""
        End If
    End Sub

    Sub chechSolved()

        If btn1.Content = &quot;1&quot; And btn2.Content = &quot;2&quot; And btn3.Content = &quot;3&quot; And btn4.Content = &quot;4&quot; And btn5.Content = &quot;5&quot; And btn6.Content = &quot;6&quot; And btn7.Content = &quot;7&quot; And btn8.Content = &quot;8&quot; And btn9.Content = &quot;&quot; Then
            MsgBox(&quot;הצלחת&quot;)
        End If
    End Sub



    Sub shuffle()

        Dim a(8), i, j, RN As Integer
        Dim flag As Boolean

        flag = False
        i = 1
        a(j) = 1

        Do While i &lt;= 8
            Randomize()
            RN = CInt(Int((8 * Rnd()) + 1))

            For j = 1 To i
                If (a(j) = RN) Then
                    flag = True
                    Exit For
                End If
            Next

            If flag = True Then
                flag = False
            Else
                a(i) = RN
                i = i + 1
            End If

        Loop

        btn1.Content = a(1)
        btn2.Content = a(2)
        btn3.Content = a(3)
        btn4.Content = a(4)
        btn5.Content = a(5)
        btn6.Content = a(6)
        btn7.Content = a(7)
        btn8.Content = a(8)
        btn9.Content = &quot;&quot;
    End Sub

    Private Sub btnSH_Click(sender As Object, e As RoutedEventArgs) Handles btnSH.Click
        shuffle()
    End Sub
End Class</pre>
如果你看一下它会有很大的帮助。

1 个答案:

答案 0 :(得分:0)

编译器可能在将字符串与btn.Content进行比较时遇到问题,因为您将Content设置为Integer类型(btn1.Content = a(1))

相关问题