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

📄 frmgame.vb

📁 TicTacToe Game In VC++
💻 VB
📖 第 1 页 / 共 2 页
字号:
        '
        'OleDbDeleteCommand1
        '
        Me.OleDbDeleteCommand1.CommandText = "DELETE FROM Questions WHERE ([Number] = ?) AND (Answer = ? OR ? IS NULL AND Answe" & _
        "r IS NULL) AND (Levelnum = ? OR ? IS NULL AND Levelnum IS NULL) AND (Question = " & _
        "? OR ? IS NULL AND Question IS NULL)"
        Me.OleDbDeleteCommand1.Connection = Me.OleDbConnection1
        Me.OleDbDeleteCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_Number", System.Data.OleDb.OleDbType.Integer, 0, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "Number", System.Data.DataRowVersion.Original, Nothing))
        Me.OleDbDeleteCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_Answer", System.Data.OleDb.OleDbType.VarWChar, 50, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "Answer", System.Data.DataRowVersion.Original, Nothing))
        Me.OleDbDeleteCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_Answer1", System.Data.OleDb.OleDbType.VarWChar, 50, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "Answer", System.Data.DataRowVersion.Original, Nothing))
        Me.OleDbDeleteCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_Levelnum", System.Data.OleDb.OleDbType.VarWChar, 50, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "Levelnum", System.Data.DataRowVersion.Original, Nothing))
        Me.OleDbDeleteCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_Levelnum1", System.Data.OleDb.OleDbType.VarWChar, 50, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "Levelnum", System.Data.DataRowVersion.Original, Nothing))
        Me.OleDbDeleteCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_Question", System.Data.OleDb.OleDbType.VarWChar, 50, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "Question", System.Data.DataRowVersion.Original, Nothing))
        Me.OleDbDeleteCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Original_Question1", System.Data.OleDb.OleDbType.VarWChar, 50, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "Question", System.Data.DataRowVersion.Original, Nothing))
        '
        'OleDbConnection1
        '
        Me.OleDbConnection1.ConnectionString = "Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Registry Path=;Jet OLEDB:Database L" & _
        "ocking Mode=1;Data Source=""C:\questions.mdb"";Jet OLEDB:Engine Type=5;Provider=""M" & _
        "icrosoft.Jet.OLEDB.4.0"";Jet OLEDB:System database=;Jet OLEDB:SFP=False;persist s" & _
        "ecurity info=False;Extended Properties=;Mode=Share Deny None;Jet OLEDB:Encrypt D" & _
        "atabase=False;Jet OLEDB:Create System Database=False;Jet OLEDB:Don't Copy Locale" & _
        " on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;User ID=Admin;J" & _
        "et OLEDB:Global Bulk Transactions=1"
        '
        'OleDbDataAdapter1
        '
        Me.OleDbDataAdapter1.DeleteCommand = Me.OleDbDeleteCommand1
        Me.OleDbDataAdapter1.InsertCommand = Me.OleDbInsertCommand1
        Me.OleDbDataAdapter1.SelectCommand = Me.OleDbSelectCommand1
        Me.OleDbDataAdapter1.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "Questions", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("Answer", "Answer"), New System.Data.Common.DataColumnMapping("Levelnum", "Levelnum"), New System.Data.Common.DataColumnMapping("Number", "Number"), New System.Data.Common.DataColumnMapping("Question", "Question")})})
        Me.OleDbDataAdapter1.UpdateCommand = Me.OleDbUpdateCommand1
        '
        'FrmGame
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
        Me.ClientSize = New System.Drawing.Size(192, 182)
        Me.Controls.Add(Me.Btn9)
        Me.Controls.Add(Me.Btn8)
        Me.Controls.Add(Me.Btn7)
        Me.Controls.Add(Me.Btn6)
        Me.Controls.Add(Me.Btn5)
        Me.Controls.Add(Me.Btn4)
        Me.Controls.Add(Me.Btn3)
        Me.Controls.Add(Me.Btn2)
        Me.Controls.Add(Me.Btn1)
        Me.Controls.Add(Me.PictureBox1)
        Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
        Me.MaximizeBox = False
        Me.Name = "FrmGame"
        Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
        Me.Text = "Game"
        Me.ResumeLayout(False)

    End Sub

#End Region
    	Dim strsql As String
		Dim answer As Integer
		Dim dt As New DataTable
		Dim random As Integer
		Dim i As Integer
		
    Private Sub Btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn1.Click, Btn2.Click, Btn3.Click, Btn4.Click, Btn5.Click, Btn6.Click, Btn7.Click, Btn8.Click, Btn9.Click
        If flag Then
            sender.Text = "0"
            flag = False
			Dim ans1
			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)
		random = (dt.Rows.Count - 1) * Rnd()
		For i = 0 To 2
        Me.LblQuestion.Text = dt.Rows(random)("question")
        answer = dt.Rows(random)("answer")
		ans1 = MsgBox(Me.LblQuestion.Text & " = " & answer, MsgBoxStyle.Question + MsgBoxStyle.YesNo)
                If ans1 = vbNo Then
                    MsgBox("Your Answer Is Wrong")
					random=i+4
                End If
				If i=2 Then
				MsgBox("Yor Missed Five Questions, So Quitting Game. Bye")
				frm1.Dispose()
                End if				
            If ans1 = vbYes Then
                'MsgBox("Congratulation,Your Answer Is Right")
				i=2
            End If
            Next i
        Else
            sender.Text = "X"
            flag = True
			Dim ans1
			Randomize()
        strsql = "select * from questions where LevelNum='2'"
        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)
		random = (dt.Rows.Count - 1) * Rnd()
		For i = 0 To 2
        Me.LblQuestion.Text = dt.Rows(random)("question")
        answer = dt.Rows(random)("answer")
		ans1 = MsgBox(Me.LblQuestion.Text & " = " & answer, MsgBoxStyle.Question + MsgBoxStyle.YesNo)
                If ans1 = vbNo Then
                    MsgBox("Your Answer Is Wrong")
					random=i+4
                End If
				If i=2 Then
				MsgBox("Yor Missed Five Questions, So Quitting Game. Bye")
				frm1.Dispose()
                End if				
            If ans1 = vbYes Then
                'MsgBox("Congratulation,Your Answer Is Right")
				i=2
            End If
            Next i

        End If
        sender.Enabled = False
        count += 1
        Call Check()
        
    End Sub

    Private Sub Check()
        If (Btn1.Text = Btn2.Text And Btn1.Text = Btn3.Text And Btn1.Text <> "") _
        Or (Btn4.Text = Btn5.Text And Btn4.Text = Btn6.Text And Btn4.Text <> "") _
        Or (Btn7.Text = Btn8.Text And Btn7.Text = Btn9.Text And Btn7.Text <> "") _
        Or (Btn1.Text = Btn4.Text And Btn1.Text = Btn7.Text And Btn1.Text <> "") _
        Or (Btn2.Text = Btn5.Text And Btn2.Text = Btn8.Text And Btn2.Text <> "") _
        Or (Btn3.Text = Btn6.Text And Btn3.Text = Btn9.Text And Btn3.Text <> "") _
        Or (Btn1.Text = Btn5.Text And Btn1.Text = Btn9.Text And Btn1.Text <> "") _
        Or (Btn3.Text = Btn5.Text And Btn3.Text = Btn7.Text And Btn3.Text <> "") Then
            Dim Str As String
            If flag Then
                Str = frm1.txtPOne.Text
            Else
                Str = frm1.txtPTwo.Text
            End If
            MsgBox(UCase(Str) & " won...", MsgBoxStyle.OKOnly)
            Call PlayAgain()
        End If
        If count = 9 Then
            MsgBox("The Match is draw...")
            Call PlayAgain()
        End If
    End Sub
    Public Function temp(ByVal frm As FrmPlayer)
        frm1 = frm
    End Function

    Private Sub FrmGame_Disposed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Disposed
        frm1.Dispose()
    End Sub

    Private Sub PlayAgain()
        Dim ans As Integer, i As Integer
        ans = MsgBox("Do you want to play again?...", MsgBoxStyle.Question + MsgBoxStyle.YesNo)
        If ans = vbNo Then
            frm1.Dispose()
        Else
            Btn1.Enabled = True
            Btn1.Text = ""
            Btn2.Enabled = True
            Btn2.Text = ""
            Btn3.Enabled = True
            Btn3.Text = ""
            Btn4.Enabled = True
            Btn4.Text = ""
            Btn5.Enabled = True
            Btn5.Text = ""
            Btn6.Enabled = True
            Btn6.Text = ""
            Btn7.Enabled = True
            Btn7.Text = ""
            Btn8.Enabled = True
            Btn8.Text = ""
            Btn9.Enabled = True
            Btn9.Text = ""
            count = 0
        End If
    End Sub
End Class

⌨️ 快捷键说明

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