APRENDENDO VB6

MACRACANTHUS 14/10/2009 17:34:30
#325323
Estou aprendendo VB6 com o auxilio de uma apostila que baixei aqui no VBMania.

Fiz tudo conforme esta na apostilha p/ programar um jogo da velha, mas não esta funcionando, quando o jogo é iniciado e é a minha vez de jogar ele já encerra dizendo que já ganhou e perguntando se quero jogar novamente ou encerrar. segue a programação abaixo se alguem puder me dizer o que estou fazendo de errado desde já agradeço.

Dim NúmeroVezes As Integer

Private Sub cmdBot_Click(Index As Integer)
NúmeroVezes = NúmeroVezes + 1
cmdBot(Index).Caption = [Ô]X[Ô]
If cmdBot(0).Caption = [Ô]X[Ô] And cmdBot(1).Caption = [Ô]X[Ô] And cmdBot(2).Caption = [Ô]X[Ô] Then GoTo MensX
If cmdBot(3).Caption = [Ô]X[Ô] And cmdBot(4).Caption = [Ô]X[Ô] And cmdBot(5).Caption = [Ô]X[Ô] Then GoTo MensX
If cmdBot(6).Caption = [Ô]X[Ô] And cmdBot(7).Caption = [Ô]X[Ô] And cmdBot(8).Caption = [Ô]X[Ô] Then GoTo MensX
If cmdBot(0).Caption = [Ô]X[Ô] And cmdBot(3).Caption = [Ô]X[Ô] And cmdBot(6).Caption = [Ô]X[Ô] Then GoTo MensX
If cmdBot(1).Caption = [Ô]X[Ô] And cmdBot(4).Caption = [Ô]X[Ô] And cmdBot(7).Caption = [Ô]X[Ô] Then GoTo MensX
If cmdBot(2).Caption = [Ô]X[Ô] And cmdBot(5).Caption = [Ô]X[Ô] And cmdBot(8).Caption = [Ô]X[Ô] Then GoTo MensX
If cmdBot(0).Caption = [Ô]X[Ô] And cmdBot(4).Caption = [Ô]X[Ô] And cmdBot(8).Caption = [Ô]X[Ô] Then GoTo MensX
If cmdBot(2).Caption = “X” And cmdBot(4).Caption = “X” And cmdBot(6).Caption = “X” Then GoTo MensX

Do Until cmdBot(M).Caption = [Ô][Ô]
M = Int(Rnd * 9)
Loop
cmdBot(M).Caption = [Ô]0[Ô]
If cmdBot(0).Caption = [Ô]0[Ô] And cmdBot(1).Caption = [Ô]0[Ô] And cmdBot(2).Caption = [Ô]0[Ô] Then GoTo Mens0
If cmdBot(3).Caption = [Ô]0[Ô] And cmdBot(4).Caption = [Ô]0[Ô] And cmdBot(5).Caption = [Ô]0[Ô] Then GoTo Mens0
If cmdBot(6).Caption = [Ô]0[Ô] And cmdBot(7).Caption = [Ô]0[Ô] And cmdBot(8).Caption = [Ô]0[Ô] Then GoTo Mens0
If cmdBot(0).Caption = [Ô]0[Ô] And cmdBot(3).Caption = [Ô]0[Ô] And cmdBot(6).Caption = [Ô]0[Ô] Then GoTo Mens0
If cmdBot(1).Caption = [Ô]0[Ô] And cmdBot(4).Caption = [Ô]0[Ô] And cmdBot(7).Caption = [Ô]0[Ô] Then GoTo Mens0
If cmdBot(2).Caption = [Ô]0[Ô] And cmdBot(5).Caption = [Ô]0[Ô] And cmdBot(8).Caption = [Ô]0[Ô] Then GoTo Mens0
If cmdBot(0).Caption = [Ô]0[Ô] And cmdBot(4).Caption = [Ô]0[Ô] And cmdBot(8).Caption = [Ô]0[Ô] Then GoTo Mens0
If cmdBot(2).Caption = [Ô]0[Ô] And cmdBot(4).Caption = [Ô]0[Ô] And cmdBot(6).Caption = [Ô]0[Ô] Then GoTo Mens0
If NúmeroVezes = 4 Then
MsgBox [Ô]Partida Empatada[Ô], 64, [Ô]Empate[Ô]
JogoNovo
Exit Sub
End If

MensX:
Resposta$ = MsgBox([Ô]Você Ganhou, Deseja[Ô] + Chr(13) + [Ô]Jogar Novamente?[Ô], 36, [Ô]Vencedor[Ô])
If Resposta$ = 6 Then
JogoNovo
Else
End
End If

Mens0:
Resposta$ = MsgBox([Ô]Eu Ganhei, Deseja[Ô] + Chr(13) + [Ô]Jogar Novamente?[Ô], 36, [Ô]Vencedor[Ô])
If Resposta$ = 6 Then
JogoNovo
Else
End
End If

Exit Sub

End Sub

Private Sub Form_Load()
Randomize
JogoNovo

End Sub

Public Sub JogoNovo()
For i% = 0 To 8
cmdBot(i%).Caption = [Ô][Ô]
Next i%
M = Int(Rnd * 9)
cmdBot(M).Caption = [Ô]0[Ô] [ô]Jogada inicial do Micro
NúmeroVezes = 0

End Sub
DANIKULL 14/10/2009 19:55:02
#325345
Resposta escolhida
MACRACANTHUS, boa noite.

Tem uma instrução fora do lugar. De uma olha da na linha em destaque:


Dim NúmeroVezes As Integer

Private Sub cmdBot_Click(Index As Integer)
NúmeroVezes = NúmeroVezes + 1
cmdBot(Index).Caption = [Ô]X[Ô]
If cmdBot(0).Caption = [Ô]X[Ô] And cmdBot(1).Caption = [Ô]X[Ô] And cmdBot(2).Caption = [Ô]X[Ô] Then GoTo MensX
If cmdBot(3).Caption = [Ô]X[Ô] And cmdBot(4).Caption = [Ô]X[Ô] And cmdBot(5).Caption = [Ô]X[Ô] Then GoTo MensX
If cmdBot(6).Caption = [Ô]X[Ô] And cmdBot(7).Caption = [Ô]X[Ô] And cmdBot(8).Caption = [Ô]X[Ô] Then GoTo MensX
If cmdBot(0).Caption = [Ô]X[Ô] And cmdBot(3).Caption = [Ô]X[Ô] And cmdBot(6).Caption = [Ô]X[Ô] Then GoTo MensX
If cmdBot(1).Caption = [Ô]X[Ô] And cmdBot(4).Caption = [Ô]X[Ô] And cmdBot(7).Caption = [Ô]X[Ô] Then GoTo MensX
If cmdBot(2).Caption = [Ô]X[Ô] And cmdBot(5).Caption = [Ô]X[Ô] And cmdBot(8).Caption = [Ô]X[Ô] Then GoTo MensX
If cmdBot(0).Caption = [Ô]X[Ô] And cmdBot(4).Caption = [Ô]X[Ô] And cmdBot(8).Caption = [Ô]X[Ô] Then GoTo MensX
If cmdBot(2).Caption = “X” And cmdBot(4).Caption = “X” And cmdBot(6).Caption = “X” Then GoTo MensX

Do Until cmdBot(M).Caption = [Ô][Ô]
M = Int(Rnd * 9)
Loop
cmdBot(M).Caption = [Ô]0[Ô]
If cmdBot(0).Caption = [Ô]0[Ô] And cmdBot(1).Caption = [Ô]0[Ô] And cmdBot(2).Caption = [Ô]0[Ô] Then GoTo Mens0
If cmdBot(3).Caption = [Ô]0[Ô] And cmdBot(4).Caption = [Ô]0[Ô] And cmdBot(5).Caption = [Ô]0[Ô] Then GoTo Mens0
If cmdBot(6).Caption = [Ô]0[Ô] And cmdBot(7).Caption = [Ô]0[Ô] And cmdBot(8).Caption = [Ô]0[Ô] Then GoTo Mens0
If cmdBot(0).Caption = [Ô]0[Ô] And cmdBot(3).Caption = [Ô]0[Ô] And cmdBot(6).Caption = [Ô]0[Ô] Then GoTo Mens0
If cmdBot(1).Caption = [Ô]0[Ô] And cmdBot(4).Caption = [Ô]0[Ô] And cmdBot(7).Caption = [Ô]0[Ô] Then GoTo Mens0
If cmdBot(2).Caption = [Ô]0[Ô] And cmdBot(5).Caption = [Ô]0[Ô] And cmdBot(8).Caption = [Ô]0[Ô] Then GoTo Mens0
If cmdBot(0).Caption = [Ô]0[Ô] And cmdBot(4).Caption = [Ô]0[Ô] And cmdBot(8).Caption = [Ô]0[Ô] Then GoTo Mens0
If cmdBot(2).Caption = [Ô]0[Ô] And cmdBot(4).Caption = [Ô]0[Ô] And cmdBot(6).Caption = [Ô]0[Ô] Then GoTo Mens0
If NúmeroVezes = 4 Then
MsgBox [Ô]Partida Empatada[Ô], 64, [Ô]Empate[Ô]
JogoNovo
Exit Sub
End If

MensX:
Resposta$ = MsgBox([Ô]Você Ganhou, Deseja[Ô] + Chr(13) + [Ô]Jogar Novamente?[Ô], 36, [Ô]Vencedor[Ô])
If Resposta$ = 6 Then
JogoNovo
Else
End
End If

Mens0:
Resposta$ = MsgBox([Ô]Eu Ganhei, Deseja[Ô] + Chr(13) + [Ô]Jogar Novamente?[Ô], 36, [Ô]Vencedor[Ô])
If Resposta$ = 6 Then
JogoNovo
Else
End
End If

Citação:

[txt-color=#b40404]Exit Sub[/txt-color]



End Sub

Private Sub Form_Load()
Randomize
JogoNovo

End Sub

Public Sub JogoNovo()
For i% = 0 To 8
cmdBot(i%).Caption = [Ô][Ô]
Next i%
M = Int(Rnd * 9)
cmdBot(M).Caption = [Ô]0[Ô] [ô]Jogada inicial do Micro
NúmeroVezes = 0

End Sub


Coloque onde está marcado


Dim NúmeroVezes As Integer

Private Sub cmdBot_Click(Index As Integer)

NúmeroVezes = NúmeroVezes + 1
cmdBot(Index).Caption = [Ô]X[Ô]
If cmdBot(0).Caption = [Ô]X[Ô] And cmdBot(1).Caption = [Ô]X[Ô] And cmdBot(2).Caption = [Ô]X[Ô] Then GoTo MensX
If cmdBot(3).Caption = [Ô]X[Ô] And cmdBot(4).Caption = [Ô]X[Ô] And cmdBot(5).Caption = [Ô]X[Ô] Then GoTo MensX
If cmdBot(6).Caption = [Ô]X[Ô] And cmdBot(7).Caption = [Ô]X[Ô] And cmdBot(8).Caption = [Ô]X[Ô] Then GoTo MensX
If cmdBot(0).Caption = [Ô]X[Ô] And cmdBot(3).Caption = [Ô]X[Ô] And cmdBot(6).Caption = [Ô]X[Ô] Then GoTo MensX
If cmdBot(1).Caption = [Ô]X[Ô] And cmdBot(4).Caption = [Ô]X[Ô] And cmdBot(7).Caption = [Ô]X[Ô] Then GoTo MensX
If cmdBot(2).Caption = [Ô]X[Ô] And cmdBot(5).Caption = [Ô]X[Ô] And cmdBot(8).Caption = [Ô]X[Ô] Then GoTo MensX
If cmdBot(0).Caption = [Ô]X[Ô] And cmdBot(4).Caption = [Ô]X[Ô] And cmdBot(8).Caption = [Ô]X[Ô] Then GoTo MensX
If cmdBot(2).Caption = “X” And cmdBot(4).Caption = “X” And cmdBot(6).Caption = “X” Then GoTo MensX

Do Until cmdBot(M).Caption = [Ô][Ô]
M = Int(Rnd * 9)
Loop
cmdBot(M).Caption = [Ô]0[Ô]
If cmdBot(0).Caption = [Ô]0[Ô] And cmdBot(1).Caption = [Ô]0[Ô] And cmdBot(2).Caption = [Ô]0[Ô] Then GoTo Mens0
If cmdBot(3).Caption = [Ô]0[Ô] And cmdBot(4).Caption = [Ô]0[Ô] And cmdBot(5).Caption = [Ô]0[Ô] Then GoTo Mens0
If cmdBot(6).Caption = [Ô]0[Ô] And cmdBot(7).Caption = [Ô]0[Ô] And cmdBot(8).Caption = [Ô]0[Ô] Then GoTo Mens0
If cmdBot(0).Caption = [Ô]0[Ô] And cmdBot(3).Caption = [Ô]0[Ô] And cmdBot(6).Caption = [Ô]0[Ô] Then GoTo Mens0
If cmdBot(1).Caption = [Ô]0[Ô] And cmdBot(4).Caption = [Ô]0[Ô] And cmdBot(7).Caption = [Ô]0[Ô] Then GoTo Mens0
If cmdBot(2).Caption = [Ô]0[Ô] And cmdBot(5).Caption = [Ô]0[Ô] And cmdBot(8).Caption = [Ô]0[Ô] Then GoTo Mens0
If cmdBot(0).Caption = [Ô]0[Ô] And cmdBot(4).Caption = [Ô]0[Ô] And cmdBot(8).Caption = [Ô]0[Ô] Then GoTo Mens0
If cmdBot(2).Caption = [Ô]0[Ô] And cmdBot(4).Caption = [Ô]0[Ô] And cmdBot(6).Caption = [Ô]0[Ô] Then GoTo Mens0
If NúmeroVezes = 4 Then
MsgBox [Ô]Partida Empatada[Ô], 64, [Ô]Empate[Ô]
JogoNovo
Exit Sub
End If

Citação:

[txt-color=#38610B]Exit Sub[/txt-color]



MensX:
Resposta$ = MsgBox([Ô]Você Ganhou, Deseja[Ô] + Chr(13) + [Ô]Jogar Novamente?[Ô], 36, [Ô]Vencedor[Ô])
If Resposta$ = 6 Then
JogoNovo
Else
End
End If

Mens0:
Resposta$ = MsgBox([Ô]Eu Ganhei, Deseja[Ô] + Chr(13) + [Ô]Jogar Novamente?[Ô], 36, [Ô]Vencedor[Ô])
If Resposta$ = 6 Then
JogoNovo
Else
End
End If


End Sub

Private Sub Form_Load()
Randomize
JogoNovo

End Sub

Public Sub JogoNovo()
For i% = 0 To 8
cmdBot(i%).Caption = [Ô][Ô]
Next i%
M = Int(Rnd * 9)
cmdBot(M).Caption = [Ô]0[Ô] [ô]Jogada inicial do Micro
NúmeroVezes = 0

End Sub
MACRACANTHUS 15/10/2009 18:09:55
#325423
Obrigado Danikull Funcionol.

DANIKULL 15/10/2009 19:35:01
#325426
MACRACANTHUS, boa noite.

Se a dúvida foi resolvida encerre o tópico e se você achar que deve me pontue.....

Abraços.
MACRACANTHUS 16/10/2009 18:55:32
#325506
DANIKULL,

Sei como encerrar o topico mais não sei como fazer a pontuação, estou procurando pelo saite mais até o momento não localizei nada, se puder me orientar.


DANIKULL 16/10/2009 19:07:56
#325508
boa noite.

Se nao me engano quando você clicar em encerrar vai aparecer uma tela listando os usuários que te respondeu para você selecionar a quem pontuar, e vai aparecer também a opção não pontuar ninguem, ok??

Tenta ai, se nao conseguir so encerre o topico mesmo...
TECLA 16/10/2009 19:58:28
#325510
Citação:

DANIKULL escreveu:
boa noite.

Se nao me engano quando você clicar em encerrar vai aparecer uma tela listando os usuários que te respondeu para você selecionar a quem pontuar, e vai aparecer também a opção não pontuar ninguem, ok??

Tenta ai, se nao conseguir so encerre o topico mesmo...



é isso mesmo.

Clique na opção ENCERRAR TÓPICO e na janela de encerramento aparecerá uma LISTA DE USUÁRIOS.
Selecione um usuário e CONFIRME.
Tópico encerrado , respostas não são mais permitidas