⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 formmain.vb

📁 Visual Basic.net 实例入门
💻 VB
📖 第 1 页 / 共 2 页
字号:

    Dim InitNum(4), Times As Integer
    Private Sub BTExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTExit.Click
        subExit()
        '调用退出应用程序的函数
    End Sub

    Private Sub subReset()
        Dim i, j, flag As Integer
        Randomize()
        '生成随机种子
        For i = 1 To 4
            Do
                flag = 0
                '标志变量清零()
                InitNum(i) = Rnd(1) * 10
                If InitNum(i) = 10 Then
                    flag = 1
                    '如果生成数字为10,设标志变量为1
                End If
                '随机生成一个一位整数
                For j = 1 To i - 1
                    If InitNum(i) = InitNum(j) Then
                        flag = 1
                        '如果出现重复数字,设标志变量为1
                    End If
                Next
            Loop Until flag = 0
            '循环至生成的4个数字在0到9之间且互不重复为止
        Next
        '这段代码的作用是生成互不重复的4个一位整数,注意标志变量的作用

        TBNum1.Clear()
        TBNum2.Clear()
        TBNum3.Clear()
        TBNum4.Clear()
        '将各TextBox控件清空
        ListResult.Items.Clear()
        '将ListResult清空
        Times = 8
        LBChance.Text = "您一共有8次机会"
        '将游戏次数初始化为8
        BTOK.Enabled = True
        '将BTOK按钮设置为有效
    End Sub

    Private Sub formMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        subReset()
        '调用初始化函数
    End Sub

    Private Sub subOK()
        Dim InputNum(4) As Integer
        Dim i As Integer, j As Integer
        Dim a As Integer, b As Integer
        Dim flag As Integer
        Dim s As String

        If TBNum1.Text = "" Or TBNum2.Text = "" Or TBNum3.Text = "" Or TBNum4.Text = "" Then
            MessageBox.Show("必须输入4个数字", "输入不正确", MessageBoxButtons.OK)
            '判断用户是否已经输入了4个数字
        Else
            InputNum(1) = TBNum1.Text
            InputNum(2) = TBNum2.Text
            InputNum(3) = TBNum3.Text
            InputNum(4) = TBNum4.Text
            '将游戏者的输入存入数组,以方便通过循环语句对其进行判断

            flag = 0
            For i = 1 To 4
                If InputNum(i) > 9 Or InputNum(i) < 0 Then
                    MessageBox.Show("输入数字超出范围", "输入不正确", MessageBoxButtons.OK)
                    flag = 1
                End If
                '判断游戏者的输入是否在0到9之间

                For j = 1 To 4
                    If InputNum(i) = InputNum(j) And i <> j Then
                        MessageBox.Show("输入的四个数字不能重复", "输入不正确", MessageBoxButtons.OK)
                        flag = 1
                    End If
                Next
                '判断游戏者输入的四个数字是否重复
            Next

            If flag = 0 Then
                For i = 1 To 4
                    For j = 1 To 4
                        If InputNum(i) = InitNum(j) Then
                            If i = j Then a = a + 1 Else b = b + 1
                        End If
                    Next
                Next
                '判断游戏者输入的数字的数值及位置是否正确,如果数值及位置都正确,则a的值加1;如果只是数值正确而位置不对,则b的值加1

                s = TBNum1.Text & TBNum2.Text & TBNum3.Text & TBNum4.Text & ":" & a & "A" & b & "B"
                ListResult.Items.Add(s)
                '显示中间结果
                Times = Times - 1
                LBChance.Text = "您还有" & Times & "次机会"
                '对游戏者的剩余次数进行递减

                If a = 4 Or Times = 0 Then
                    If a = 4 Then
                        MessageBox.Show("恭喜过关!", "游戏结束", MessageBoxButtons.OK)
                    Else : MessageBox.Show("正确答案应为" & InitNum(1) & InitNum(2) & InitNum(3) & InitNum(4), "游戏结束", MessageBoxButtons.OK)
                    End If
                    '判断游戏的结束和游戏者的胜负
                    BTOK.Enabled = False
                    '游戏结束,将BTOK按钮设为无效
                End If
            End If
        End If
    End Sub

    Private Sub BTOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTOK.Click
        subOK()
        '开始判断
    End Sub

    Private Sub mOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mOK.Click
        subOK()
        '开始判断
    End Sub
    Private Sub subExit()
        Application.Exit()
        '退出应用程序
    End Sub

    Private Sub mExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mExit.Click
        subExit()
        '调用退出应用程序的函数
    End Sub

    Private Sub mAbout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mAbout.Click
        Dim fAbout As New formAbout()
        fAbout.Show()
        '显示“关于”窗体
    End Sub

    Private Sub TBNum1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TBNum1.KeyPress
        If Asc(e.KeyChar) > 57 Or Asc(e.KeyChar) < 48 Then
            '判断输入是否为数字
            MessageBox.Show("请输入数字", "输入不正确", MessageBoxButtons.OK)
            TBNum1.Clear()
            '显示提示信息并清空文本框
        Else
            TBNum2.Focus()
            TBNum2.SelectAll()
            '当TBNum1有输入的时候,自动将焦点转移到TBNum2上
        End If
    End Sub

    Private Sub TBNum2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TBNum2.KeyPress
        If Asc(e.KeyChar) > 57 Or Asc(e.KeyChar) < 48 Then
            '判断输入是否为数字
            MessageBox.Show("请输入数字", "输入不正确", MessageBoxButtons.OK)
            TBNum2.Clear()
            '显示提示信息并清空文本框
        Else
            TBNum3.Focus()
            TBNum3.SelectAll()
            '当TBNum2有输入的时候,自动将焦点转移到TBNum3上
        End If
    End Sub

    Private Sub TBNum3_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TBNum3.KeyPress
        If Asc(e.KeyChar) > 57 Or Asc(e.KeyChar) < 48 Then
            '判断输入是否为数字
            MessageBox.Show("请输入数字", "输入不正确", MessageBoxButtons.OK)
            TBNum3.Clear()
            '显示提示信息并清空文本框
        Else
            TBNum4.Focus()
            TBNum4.SelectAll()
            '当TBNum3有输入的时候,自动将焦点转移到TBNum4上
        End If
    End Sub

    Private Sub TBNum4_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TBNum4.KeyPress
        If Asc(e.KeyChar) > 57 Or Asc(e.KeyChar) < 48 Then
            '判断输入是否为数字
            MessageBox.Show("请输入数字", "输入不正确", MessageBoxButtons.OK)
            TBNum4.Clear()
            '显示提示信息并清空文本框
        Else
            BTOK.Focus()
            '当TBNum4有输入的时候,自动将焦点转移到按钮BTOK上
        End If
    End Sub

    Private Sub btReset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btReset.Click
        subReset()
        '调用初始化函数
    End Sub

    Private Sub mReset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mReset.Click
        subReset()
        '调用初始化函数
    End Sub
End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -