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

📄 game.vb

📁 Bug Game in Visual C++
💻 VB
📖 第 1 页 / 共 3 页
字号:
                        Me.OleDbDataAdapter1.SelectCommand.ExecuteNonQuery()
                        Me.OleDbConnection1.Close()
                        dt.Clear()
                        Me.OleDbDataAdapter1.Fill(dt)
                        Me.lbllevel.Text = 2
                    End If
                    Me.lblscore.Text = score
                Else
                    Select Case lifecounter
                        Case 0
                            Me.life1.Image = Me.lifegone.Image
                        Case 1
                            Me.life2.Image = Me.lifegone.Image
                        Case 2
                            Me.life3.Image = Me.lifegone.Image
                        Case 3
                            MsgBox("You Lost, Sorry")
                            Me.Timer4.Enabled = False
                            enterdata()
                            f2.Hide()
                            f3.Show()
                            Exit Sub
                    End Select
                    lifecounter += 1
                End If
                Me.lblanswer.Text = ""
                random = (dt.Rows.Count - 1) * Rnd()
                Me.LblQuestion.Text = dt.Rows(random)("question")
                answer = dt.Rows(random)("answer")
                Me.lblsec.Text = 0
            Case 27
                Me.lblanswer.Text = ""
            Case 9
                speed = 25
        End Select
    End Sub




    Private Sub Form1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyUp
        Select Case e.KeyCode
            Case 37 To 40
                Me.Timer1.Enabled = False
            Case 32
                Me.bullet.Left = Me.PictureBox1.Left + 15
                Me.bullet.Top = Me.PictureBox1.Top - 8
                Me.bullet.Visible = True
                Me.Timer3.Enabled = True
            Case 9
                speed = 10
        End Select
    End Sub

    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
        Dim left, right, leftstart As Integer
        leftstart = 550
        left = 2
        right = -2
        Me.Label1.Top += speed * Rnd()
        Me.Label1.Left += left * Rnd()
        Me.Label2.Top += speed * Rnd()
        Me.Label2.Left += right * Rnd()
        Me.Label3.Top += speed * Rnd()
        Me.Label3.Left -= left * Rnd()
        Me.Label4.Top += speed * Rnd()
        Me.Label4.Left -= right * Rnd()
        Me.Label5.Top += speed * Rnd()
        Me.Label5.Left += left * Rnd()
        Me.Label6.Top += speed * Rnd()
        Me.Label6.Left -= right * Rnd()
        Me.Label11.Top += speed * Rnd()
        Me.Label11.Left -= right * Rnd()
        Me.Label11.Top += speed * Rnd()
        Me.Label11.Left -= right * Rnd()
        Me.Label12.Top += speed * Rnd()
        Me.Label12.Left -= right * Rnd()

        If Me.Label2.Top > 530 Then
            Me.Label2.Top = 0
            Me.Label2.Left = leftstart * Rnd()
            Me.Label2.ForeColor = Me.ForeColor.Red
            Me.Label2.Top = Rnd() * 10
        End If
        If Me.Label1.Top > 530 Then
            Me.Label1.Top = 0
            Me.Label1.Left = leftstart * Rnd()
            Me.Label1.ForeColor = Me.ForeColor.Red
            Me.Label1.Text = Rnd() * 10
        End If
        If Me.Label3.Top > 530 Then
            Me.Label3.Top = 0
            Me.Label3.Left = leftstart * Rnd()
            Me.Label3.ForeColor = Me.ForeColor.Red
            Me.Label3.Text = Rnd() * 10
        End If
        If Me.Label5.Top > 530 Then
            Me.Label5.Top = 0
            Me.Label5.Left = leftstart * Rnd()
            Me.Label5.ForeColor = Me.ForeColor.Red
            Me.Label5.Text = Rnd() * 10
        End If
        If Me.Label4.Top > 530 Then
            Me.Label4.Top = 0
            Me.Label4.Left = leftstart * Rnd()
            Me.Label4.ForeColor = Me.ForeColor.Red
            Me.Label4.Text = Rnd() * 10
        End If
        If Me.Label6.Top > 530 Then
            Me.Label6.Top = 0
            Me.Label6.Left = leftstart * Rnd()
            Me.Label6.ForeColor = Me.ForeColor.Red
            Me.Label6.Text = Rnd() * 10
        End If
        If Me.Label11.Top > 530 Then
            Me.Label11.Top = 0
            Me.Label11.Left = leftstart * Rnd()
            Me.Label11.ForeColor = Me.ForeColor.Red
            Me.Label11.Text = Rnd() * 10
        End If
        If Me.Label12.Top > 530 Then
            Me.Label12.Top = 0
            Me.Label12.Left = leftstart * Rnd()
            Me.Label12.ForeColor = Me.ForeColor.Red
            Me.Label12.Text = Rnd() * 10
        End If
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Timer4.Enabled = True
        Randomize()
        strsql = "select * from questions where LevelNum='1'"
        Me.OleDbConnection1.Open()
        Me.OleDbDataAdapter1.SelectCommand = New OleDb.OleDbCommand(strsql, Me.OleDbConnection1)
        Me.OleDbDataAdapter1.SelectCommand.ExecuteNonQuery()
        Me.OleDbConnection1.Close()
        dt.Clear()
        Me.OleDbDataAdapter1.Fill(dt)
        Me.OleDbDataAdapter1.Fill(dt)
        Me.LblQuestion.Text = dt.Rows(1)("question")
        answer = dt.Rows(1)("answer")
    End Sub


    Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick
        Me.bullet.Top -= 5
        Dim xdist, ydist As Integer
        Dim difference = 20
        Dim answer As String

        xdist = Math.Abs(Me.Label1.Left - Me.bullet.Left)
        ydist = Math.Abs(Me.Label1.Top - Me.bullet.Top)
        If xdist <= difference And ydist <= difference Then
            answer = (Int(Me.Label1.Text))
            Label1.ForeColor = Me.ForeColor.Green
            Me.bullet.Visible = False
            Me.lblanswer.Text = Me.lblanswer.Text + answer
            Me.bullet.Left = 1200
        End If

        xdist = Math.Abs(Me.Label2.Left - Me.bullet.Left)
        ydist = Math.Abs(Me.Label2.Top - Me.bullet.Top)
        If xdist <= difference And ydist <= difference Then
            answer = (Int(Me.Label2.Text))
            Label2.ForeColor = Me.ForeColor.Green
            Me.bullet.Visible = False
            Me.lblanswer.Text = Me.lblanswer.Text + answer
            Me.bullet.Left = 1200
        End If

        xdist = Math.Abs(Me.Label3.Left - Me.bullet.Left)
        ydist = Math.Abs(Me.Label3.Top - Me.bullet.Top)
        If xdist <= difference And ydist <= difference Then
            answer = (Int(Me.Label3.Text))
            Me.lblanswer.Text = Me.lblanswer.Text + answer
            Label3.ForeColor = Me.ForeColor.Green
            Me.bullet.Visible = False
            Me.bullet.Left = 1200
        End If

        xdist = Math.Abs(Me.Label4.Left - Me.bullet.Left)
        ydist = Math.Abs(Me.Label4.Top - Me.bullet.Top)
        If xdist <= difference And ydist <= difference Then
            Label4.ForeColor = Me.ForeColor.Green
            answer = (Int(Me.Label4.Text))
            Me.bullet.Visible = False
            Me.lblanswer.Text = Me.lblanswer.Text + answer
            Me.bullet.Left = 1200
        End If
        xdist = Math.Abs(Me.Label5.Left - Me.bullet.Left)
        ydist = Math.Abs(Me.Label5.Top - Me.bullet.Top)
        If xdist <= difference And ydist <= difference Then
            answer = (Int(Me.Label5.Text))
            Label5.ForeColor = Me.ForeColor.Green
            Me.lblanswer.Text = Me.lblanswer.Text + answer
            Me.bullet.Visible = False
            Me.bullet.Left = 1200
        End If
        xdist = Math.Abs(Me.Label6.Left - Me.bullet.Left)
        ydist = Math.Abs(Me.Label6.Top - Me.bullet.Top)
        If xdist <= difference And ydist <= difference Then
            answer = (Int(Me.Label6.Text))
            Label6.ForeColor = Me.ForeColor.Green
            Me.lblanswer.Text = Me.lblanswer.Text + answer
            Me.bullet.Visible = False
            Me.bullet.Left = 1200
        End If
        xdist = Math.Abs(Me.Label11.Left - Me.bullet.Left)
        ydist = Math.Abs(Me.Label11.Top - Me.bullet.Top)
        If xdist <= difference And ydist <= difference Then
            answer = (Int(Me.Label11.Text))
            Label11.ForeColor = Me.ForeColor.Green
            Me.lblanswer.Text = Me.lblanswer.Text + answer
            Me.bullet.Visible = False
            Me.bullet.Left = 1200
        End If
        xdist = Math.Abs(Me.Label12.Left - Me.bullet.Left)
        ydist = Math.Abs(Me.Label12.Top - Me.bullet.Top)
        If xdist <= difference And ydist <= difference Then
            answer = (Int(Me.Label12.Text))
            Label12.ForeColor = Me.ForeColor.Green
            Me.lblanswer.Text = Me.lblanswer.Text + answer
            Me.bullet.Visible = False
            Me.bullet.Left = 1200
        End If
    End Sub


    Private Sub Timer4_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer4.Tick
        Me.lblsec.Text = Val(Me.lblsec.Text) + 1
        If Val(Me.lblsec.Text) = 30 Then
            Select Case lifecounter
                Case 0
                    Me.life1.Image = Me.lifegone.Image
                Case 1
                    Me.life2.Image = Me.lifegone.Image
                Case 2
                    Me.life3.Image = Me.lifegone.Image
                Case 3
                    MsgBox("You, Lose")
                    enterdata()
            End Select
            Me.lblsec.Text = "0"
            lifecounter += 1
        End If
    End Sub
    Private Sub enterdata()
        Dim strsql As String
        Dim i As Integer
        strsql = "select score, id from topten"
        Me.OleDbConnection1.Open()
        Me.OleDbDataAdapter1.SelectCommand = New OleDb.OleDbCommand(strsql, Me.OleDbConnection1)
        Me.OleDbDataAdapter1.SelectCommand.ExecuteNonQuery()
        Me.OleDbConnection1.Close()
        dt.Clear()
        Me.OleDbDataAdapter1.Fill(dt)
        For i = 1 To dt.Rows.Count - 1
            If score > dt.Rows.Item(i)("score") Then
                strsql = "update topten set name = '" & f0.txtname.Text & "', score = " & score & " where id = " & dt.Rows.Item(i)("id") & ""
                Me.OleDbConnection1.Open()
                Me.OleDbDataAdapter1.UpdateCommand = New OleDb.OleDbCommand(strsql, Me.OleDbConnection1)
                Me.OleDbDataAdapter1.UpdateCommand.ExecuteNonQuery()
                Me.OleDbConnection1.Close()
                Exit Sub
            End If
        Next

    End Sub
End Class

⌨️ 快捷键说明

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