Public Class Form1
Dim valor As Char = "O"
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.lbl_jog_X.Text = ""
Me.lbl_jog_O.Text = ""
Me.lbl_jog.Text = ""
Me.btn_b00.Enabled = False
Me.btn_b01.Enabled = False
Me.btn_b02.Enabled = False
Me.btn_b10.Enabled = False
Me.btn_b11.Enabled = False
Me.btn_b12.Enabled = False
Me.btn_b20.Enabled = False
Me.btn_b21.Enabled = False
Me.btn_b22.Enabled = False
End Sub
Private Sub btn_sair_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_sair.Click
Close()
End Sub
Private Sub inverter(ByVal sender As System.Object)
' mudar o x par a O
If valor = "X" Then
valor = "O"
sender.forecolor = Color.Black
Me.lbl_jog.Text = "É o " & Me.txt_jogx.Text & " A jogar"
Else
valor = "X"
sender.forecolor = Color.Blue
Me.lbl_jog.Text = "É o " & Me.txt_jogo.Text & " A jogar"
End If
End Sub
Private Sub verif()
' verificação de hipoteses possiveis de vitoria
' primeira linha
If Me.btn_b00.Text = "X" And Me.btn_b01.Text = "X" And Me.btn_b02.Text = "X" Then
ponto_X()
limpar()
End If
If Me.btn_b00.Text = "O" And Me.btn_b01.Text = "O" And Me.btn_b02.Text = "O" Then
ponto_O()
limpar()
End If
' segunda linha
If Me.btn_b10.Text = "X" And Me.btn_b11.Text = "X" And Me.btn_b12.Text = "X" Then
ponto_X()
limpar()
End If
If Me.btn_b10.Text = "O" And Me.btn_b11.Text = "O" And Me.btn_b12.Text = "O" Then
ponto_O()
limpar()
End If
' terceira linha
If Me.btn_b20.Text = "X" And Me.btn_b21.Text = "X" And Me.btn_b22.Text = "X" Then
ponto_X()
limpar()
End If
If Me.btn_b20.Text = "O" And Me.btn_b21.Text = "O" And Me.btn_b22.Text = "O" Then
ponto_O()
limpar()
End If
' primeira coluna
If Me.btn_b00.Text = "X" And Me.btn_b10.Text = "X" And Me.btn_b20.Text = "X" Then
ponto_X()
limpar()
End If
If Me.btn_b00.Text = "O" And Me.btn_b10.Text = "O" And Me.btn_b20.Text = "O" Then
ponto_O()
limpar()
End If
' segunda coluna
If Me.btn_b01.Text = "X" And Me.btn_b11.Text = "X" And Me.btn_b21.Text = "X" Then
ponto_X()
limpar()
End If
If Me.btn_b01.Text = "O" And Me.btn_b11.Text = "O" And Me.btn_b21.Text = "O" Then
ponto_O()
limpar()
End If
' treceira coluna
If Me.btn_b02.Text = "X" And Me.btn_b12.Text = "X" And Me.btn_b22.Text = "X" Then
ponto_X()
limpar()
End If
If Me.btn_b02.Text = "O" And Me.btn_b12.Text = "O" And Me.btn_b22.Text = "O" Then
ponto_O()
limpar()
End If
' diagonal 1
If Me.btn_b00.Text = "X" And Me.btn_b11.Text = "X" And Me.btn_b22.Text = "X" Then
ponto_X()
limpar()
End If
If Me.btn_b00.Text = "O" And Me.btn_b11.Text = "O" And Me.btn_b22.Text = "O" Then
ponto_O()
limpar()
End If
' diagonal 2
If Me.btn_b02.Text = "X" And Me.btn_b11.Text = "X" And Me.btn_b20.Text = "X" Then
ponto_X()
limpar()
End If
If Me.btn_b02.Text = "O" And Me.btn_b11.Text = "O" And Me.btn_b20.Text = "O" Then
ponto_O()
limpar()
End If
empatar()
End Sub
Private Sub empatar()
' caso de ampate
If Me.btn_b00.Text <> "" And Me.btn_b01.Text <> "" And Me.btn_b02.Text <> "" And _
Me.btn_b10.Text <> "" And Me.btn_b11.Text <> "" And Me.btn_b12.Text <> "" And _
Me.btn_b20.Text <> "" And Me.btn_b21.Text <> "" And Me.btn_b22.Text <> "" Then
MsgBox(" Ninguem ganhou nem o " & Me.txt_jogx.Text & " nem o " & Me.txt_jogo.Text)
limpar()
End If
End Sub
Private Sub limpar()
'limpa os botões
' Me.btn_b00.Text = ""
' Me.btn_b01.Text = ""
' Me.btn_b02.Text = ""
' Me.btn_b10.Text = ""
' Me.btn_b11.Text = ""
' Me.btn_b12.Text = ""
' Me.btn_b20.Text = ""
' Me.btn_b21.Text = ""
' Me.btn_b22.Text = ""
For Each objecto As Control In Me.Controls
If (objecto.GetType.Name.ToString = "Button") And objecto.Name <> "btn_sair" Then
objecto.Text = ""
End If
Next
End Sub
Private Sub ponto_X()
Me.lbl_jog_X.Text = Val(Me.lbl_jog_X.Text) + 1
MsgBox(" o Jogador " & Me.txt_jogx.Text & "Ganhou")
End Sub
Private Sub ponto_O()
Me.lbl_jog_O.Text = Val(Me.lbl_jog_O.Text) + 1
MsgBox(" o Jogador " & Me.txt_jogo.Text & "Ganhou")
End Sub
Private Sub btn_b00_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_b00.Click, btn_b01.Click, btn_b02.Click, btn_b10.Click, btn_b11.Click _
, btn_b12.Click, btn_b20.Click, btn_b21.Click, btn_b22.Click
' não deixa jogar enquanto não escrfever o nome dos jogadores
If Me.txt_jogo.Text = "" And Me.txt_jogx.Text = "" Then
ElseIf sender.text = "" Then
inverter(sender)
sender.text = valor
verif()
End If
Me.txt_jogo.Enabled = False
Me.txt_jogx.Enabled = False
End Sub
'Private Sub btn_b01_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_b01.Click
' inverter(sender)
' Me.btn_b01.Text = valor
' Me.btn_b01.Enabled = False
' verif()
'End Sub
'Private Sub btn_b02_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_b02.Click
' inverter(sender)
' Me.btn_b02.Text = valor
' Me.btn_b02.Enabled = False
'verif()
'End Sub
'Private Sub btn_b10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_b10.Click
' inverter(sender)
' Me.btn_b10.Text = valor
' Me.btn_b10.Enabled = False
'verif()
'End Sub
'Private Sub btn_b11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_b11.Click
' inverter(sender)
' Me.btn_b11.Text = valor
' Me.btn_b11.Enabled = False
'verif()
'End Sub
'Private Sub btn_b12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_b12.Click
' inverter(sender)
' Me.btn_b12.Text = valor
' Me.btn_b12.Enabled = False
' verif()
' End Sub
'Private Sub btn_b20_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_b20.Click
' inverter(sender)
' Me.btn_b20.Text = valor
' Me.btn_b20.Enabled = False
'verif()
' End Sub
'Private Sub btn_b21_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_b21.Click
' inverter(sender)
' Me.btn_b21.Text = valor
' Me.btn_b21.Enabled = False
'verif()
'End Sub
'Private Sub btn_b22_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_b22.Click
' inverter(sender)
' Me.btn_b22.Text = valor
' Me.btn_b22.Enabled = False
' verif()
'End Sub
Private Sub txt_jogx_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txt_jogx.TextChanged, txt_jogo.TextChanged
' poe logo o nome escrito na caixa de texto
If valor = "X" Then
Me.lbl_jog.Text = " é o " & Me.txt_jogo.Text & " a Jogar"
Else
Me.lbl_jog.Text = " é o " & Me.txt_jogx.Text & " a Jogar"
End If
' põe os botões a verdade caso as caixas de texto sejam diferentes de vazio
If Me.txt_jogo.Text <> "" And Me.txt_jogx.Text <> "" Then
Me.btn_b00.Enabled = True
Me.btn_b01.Enabled = True
Me.btn_b02.Enabled = True
Me.btn_b10.Enabled = True
Me.btn_b11.Enabled = True
Me.btn_b12.Enabled = True
Me.btn_b20.Enabled = True
Me.btn_b21.Enabled = True
Me.btn_b22.Enabled = True
End If
End Sub
End Class