📄 frmgame.vb
字号:
'
'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 + -