Jeu

zero7 Messages postés 2 Date d'inscription jeudi 25 septembre 2003 Statut Membre Dernière intervention 2 novembre 2003 - 2 nov. 2003 à 17:04
K@zuya Messages postés 306 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 15 février 2016 - 2 nov. 2003 à 20:55
je fais un jeu de morpion sous vb6, je n'arrive pas a gérer le match nul, quelq'un peut me conseiller...
Merci.

3 réponses

K@zuya Messages postés 306 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 15 février 2016
2 nov. 2003 à 18:36
sans ton code, sa rique d'etre difficile.
if MatchEnd and Not Player1.Win and Not Player2.Win then
MatchNul = true
end if
:big)

ba koi, g di une bêtise ???

K@zuya 8-)
0
zero7 Messages postés 2 Date d'inscription jeudi 25 septembre 2003 Statut Membre Dernière intervention 2 novembre 2003
2 nov. 2003 à 19:16
'Déclaration des variables
'correspond au joueur
Dim joueur
'nom du joueur N°1
Dim varnomjoueur1
'nom du joueur N°2
Dim varnomjoueur2
'vara correspond a la 1ère case de la 1ère ligne
Dim vara As String
'varb correspond a la 2ème case de la 1ère ligne
Dim varb As String
'varc correspond a la 3ème case de la 1ère ligne
Dim varc As String
'vard correspond a la 1ère case de la 2ème ligne
Dim vard As String
'vare correspond a la 2ème case de la 2ème ligne
Dim vare As String
'varf correspond a la 3ème case de la 2ème ligne
Dim varf As String
'varg correspond a la 1ère case de la 3ème ligne
Dim varg As String
'varh correspond a la 2ème case de la 3ème ligne
Dim varh As String
'vari correspond a la 3ème case de la 3ème ligne
Dim vari As String
'ensemble des cases d'une ligne pour le joueur N°1
Dim ooo As String
'ensemble des cases d'une ligne pour le joueur N°2
Dim ppp As String
'case non utilisé par le joueur N°1 et le joueur N°2
Dim v As String

Private Sub Command1_Click()
'on quitte le jeu
End
End Sub

Private Sub Command3_Click()
'Modidier une case ou pas
Picture1.Enabled = True
Picture2.Enabled = True
Picture3.Enabled = True
Picture4.Enabled = True
Picture5.Enabled = True
Picture6.Enabled = True
Picture7.Enabled = True
Picture8.Enabled = True
Picture9.Enabled = True
'on appelle redemarage
Call redemarage
End Sub

Private Sub Form_Load()
'Fenêtre pour écrire les noms des joueurs
varnomjoueur1 = InputBox("Tapez le nom du joueur 1", "Saisie du nom du joueur 1")
varnomjoueur2 = InputBox("Tapez le nom du joueur 2", "Saisie du nom du Joueur 2")
Text1.Text = varnomjoueur1
Text2.Text = varnomjoueur2
'Le joueur N°1 commence la partie
joueur = 1
End Sub

Private Sub Picture1_Click()
'si le joueur 1 commence, et qu'il clique sur la PictureBox 1, j'affiche l'image croix.bmp
If joueur = 1 Then
Picture1.Picture = LoadPicture("C:\Documents and Settings\Séb\Mes documents\VB\croix.bmp")
'je dis que la case vara contient une image du joueur N°1
vara = "o"
'je donne la main au joueur N°2
joueur = 2
Else
'si le joueur 2 commence, et qu'il clique sur la PictureBox 1, j'affiche l'image rond.bmp
If joueur = 2 Then
Picture1.Picture = LoadPicture("C:\Documents and Settings\Séb\Mes documents\VB\rond.bmp")
'je dis que la case vara contient une image du joueur N°2
vara = "p"
'je donne la main au joueur N°1
joueur = 1
End If
End If
'je désactive l'image de la PictureBox 1
Picture1.Enabled = False
'Si les variables vara + varb + varc = o (donc au nombre de case cochés par le joueur N°1) ou etc...If (vara + varb + varc "ooo") Or (vara + vard + varg "ooo") Or (vara + vare + vari = "ooo") Then
'j'affiche le message : Le joueur N°1 a gagné
MsgBox ("Le joueur N°2 a gagné"), vbOKOnly, "Tu as gagné : "
Else
'sinon si les variables vara + varb + varc = p (donc au nombre de case cochés par le joueur N°2) ou etc... If (vara + varb + varc "ppp") Or (vara + vard + varg "ppp") Or (vara + vare + vari = "ppp") Then
'j'affiche le message : Le joueur N°2 a gagné
MsgBox ("Le joueur N°2 a gagné"), vbOKOnly, "Tu as gagné : "
End If
End If
End Sub

Private Sub Picture2_Click()
'on recommence mais avec la PictureBox 2
If joueur = 1 Then
Picture2.Picture = LoadPicture("C:\Documents and Settings\Séb\Mes documents\VB\croix.bmp")
'je dis que la case vara contient une image du joueur N°1
varb = "o"
'je donne la main au joueur N°2
joueur = 2
Else
'si le joueur 2 commence, et qu'il clique sur la PictureBox 2, j'affiche l'image rond.bmp
If joueur = 2 Then
Picture2.Picture = LoadPicture("C:\Documents and Settings\Séb\Mes documents\VB\rond.bmp")
'je dis que la case vara contient une image du joueur N°2
varb = "p"
'je donne la main au joueur N°1
joueur = 1
End If
End If
'je désactive l'image de la PictureBox 2
Picture2.Enabled = False
'Si les variables varb + vare + varh = o (donc au nombre de case cochés par le joueur N°1) ou etc...If (vara + varb + varc "ooo") Or (varb + vare + varh "ooo") Then
'j'affiche le message : Le joueur N°1 a gagné
MsgBox ("Le joueur N°1 a gagné"), vbOKOnly, "Tu as gagné : "
Else
'sinon si les variables varb + vare + varh = p (donc au nombre de case cochés par le joueur N°2) ou etc... If (vara + varb + varc "ppp") Or (varb + vare + varh "ppp") Then
'j'affiche le message : Le joueur N°2 a gagné
MsgBox ("Le joueur N°2 a gagné"), vbOKOnly, "Tu as gagné : "
End If
End If
End Sub

Private Sub Picture3_Click()
If joueur = 1 Then
Picture3.Picture = LoadPicture("C:\Documents and Settings\Séb\Mes documents\VB\croix.bmp")
varc = "o"
joueur = 2
Else
If joueur = 2 Then
Picture3.Picture = LoadPicture("C:\Documents and Settings\Séb\Mes documents\VB\rond.bmp")
varc = "p"
joueur = 1
End If
End If
Picture3.Enabled = FalseIf (vara + varb + varc "ooo") Or (varc + varf + varj "ooo") Or (varc + vare + varg = "ooo") Then
MsgBox ("Le joueur N°1 a gagné"), vbOKOnly, "Tu as gagné : "
Else If (vara + varb + varc "ppp") Or (varc + varf + varj "ppp") Or (varc + vare + varg = "ppp") Then
MsgBox ("Le joueur N°2 a gagné"), vbOKOnly, "Tu as gagné : "
End If
End If
End Sub

Private Sub Picture4_Click()
If joueur = 1 Then
Picture4.Picture = LoadPicture("C:\Documents and Settings\Séb\Mes documents\VB\croix.bmp")
vard = "o"
joueur = 2
Else
If joueur = 2 Then
Picture4.Picture = LoadPicture("C:\Documents and Settings\Séb\Mes documents\VB\rond.bmp")
vard = "p"
joueur = 1
End If
End If
Picture4.Enabled = FalseIf (vara + vard + varg "ooo") Or (vard + vare + varf "ooo") Then
MsgBox ("Le joueur N°1 a gagné"), vbOKOnly, "Tu as gagné : "
Else If (vara + vard + varg "ppp") Or (vard + vare + varf "ppp") Then
MsgBox ("Le joueur N°2 a gagné"), vbOKOnly, "Tu as gagné : "
End If
End If
End Sub

Private Sub Picture5_Click()
If joueur = 1 Then
Picture5.Picture = LoadPicture("C:\Documents and Settings\Séb\Mes documents\VB\croix.bmp")
vare = "o"
joueur = 2
Else
If joueur = 2 Then
Picture5.Picture = LoadPicture("C:\Documents and Settings\Séb\Mes documents\VB\rond.bmp")
vare = "p"
joueur = 1
End If
End If
Picture5.Enabled = FalseIf (vara + vare + vari "ooo") Or (varb + vare + varh "ooo") Or (vard + vare + varf = "ooo") Or (varc + vare + varg = "ooo") Then
MsgBox ("Le joueur N°1 a gagné"), vbOKOnly, "Tu as gagné : "
Else If (vara + vare + vari "ppp") Or (varb + vare + varh "ppp") Or (vard + vare + varf = "ppp") Or (varc + vare + varg = "ppp") Then
MsgBox ("Le joueur N°2 a gagné"), vbOKOnly, "Tu as gagné : "
End If
End If
End Sub
'ici
Private Sub Picture6_Click()
If joueur = 1 Then
Picture6.Picture = LoadPicture("C:\Documents and Settings\Séb\Mes documents\VB\croix.bmp")
varf = "o"
joueur = 2
Else
If joueur = 2 Then
Picture6.Picture = LoadPicture("C:\Documents and Settings\Séb\Mes documents\VB\rond.bmp")
varf = "p"
joueur = 1
End If
End If
Picture6.Enabled = FalseIf (varc + varf + vari "ooo") Or (vard + vare + varf "ooo") Then
MsgBox ("Le joueur N°1 a gagné"), vbOKOnly, "Tu as gagné : "
Else If (varc + varf + vari "ppp") Or (vard + vare + varf "ppp") Then
MsgBox ("Le joueur N°2 a gagné"), vbOKOnly, "Tu as gagné : "
End If
End If
End Sub

Private Sub Picture7_Click()
If joueur = 1 Then
Picture7.Picture = LoadPicture("C:\Documents and Settings\Séb\Mes documents\VB\croix.bmp")
varg = "o"
joueur = 2
Else
If joueur = 2 Then
Picture7.Picture = LoadPicture("C:\Documents and Settings\Séb\Mes documents\VB\rond.bmp")
varg = "p"
joueur = 1
End If
End If
Picture7.Enabled = FalseIf (vara + vard + varg "ooo") Or (varc + vare + varg "ooo") Or (varg + varh + vari = "ooo") Then
MsgBox ("Le joueur N°1 a gagné"), vbOKOnly, "Tu as gagné : "
Else If (vara + vard + varg "ppp") Or (varc + vare + varg "ppp") Or (varg + varh + vari = "ppp") Then
MsgBox ("Le joueur N°2 a gagné"), vbOKOnly, "Tu as gagné : "
End If
End If
End Sub

Private Sub Picture8_Click()
If joueur = 1 Then
Picture8.Picture = LoadPicture("C:\Documents and Settings\Séb\Mes documents\VB\croix.bmp")
varh = "o"
joueur = 2
Else
If joueur = 2 Then
Picture8.Picture = LoadPicture("C:\Documents and Settings\Séb\Mes documents\VB\rond.bmp")
varh = "p"
joueur = 1
End If
End If
Picture8.Enabled = FalseIf (varb + vare + varh "ooo") Or (varg + varh + vari "ooo") Then
MsgBox ("Le joueur N°1 a gagné"), vbOKOnly, "Tu as gagné : "
Else If (varb + vare + varh "ppp") Or (varg + varh + vari "ppp") Then
MsgBox ("Le joueur N°2 a gagné"), vbOKOnly, "Tu as gagné : "
End If
End If
End Sub

Private Sub Picture9_Click()
If joueur = 1 Then
Picture9.Picture = LoadPicture("C:\Documents and Settings\Séb\Mes documents\VB\croix.bmp")
vari = "o"
joueur = 2
Else
If joueur = 2 Then
Picture9.Picture = LoadPicture("C:\Documents and Settings\Séb\Mes documents\VB\rond.bmp")
vari = "p"
joueur = 1
End If
End If
Picture9.Enabled = FalseIf (vara + vare + vari "ooo") Or (varc + varf + vari "ooo") Or (varg + varh + vari = "ooo") Then
MsgBox ("Le joueur N°1 a gagné"), vbOKOnly, "Tu as gagné : "
Else If (vara + vare + vari "ppp") Or (varc + varf + vari "ppp") Or (varg + varh + vari = "ppp") Then
MsgBox ("Le joueur N°2 a gagné"), vbOKOnly, "Tu as gagné : "
End If
End If
End Sub

Private Sub redemarage()
'je dis que toutes les cases contienent une image
vara = "v"
varb = "v"
varc = "v"
vard = "v"
vare = "v"
varf = "v"
varg = "v"
varh = "v"
vari = "v"
'j'enlève toutes les images
Picture1.Picture = LoadPicture("")
Picture2.Picture = LoadPicture("")
Picture3.Picture = LoadPicture("")
Picture4.Picture = LoadPicture("")
Picture5.Picture = LoadPicture("")
Picture6.Picture = LoadPicture("")
Picture7.Picture = LoadPicture("")
Picture8.Picture = LoadPicture("")
Picture9.Picture = LoadPicture("")
'Le joueur N°1 recommence
joueur = 1
End Sub
0
K@zuya Messages postés 306 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 15 février 2016
2 nov. 2003 à 20:55
bien, j'ai examiné ton code et j'ai bien vu que tu est debutant, tu m'excusera mais je n'ai pas pu m'empecher de remanier ton code, si il a des choses que tu ne comprends pas, dit le moi

Const StartX = 0
Const StartY = 0

Dim joueur As Boolean
Dim NomJoueur(1 To 2) As String
Dim Var(1 To 9) As String

Private Sub Form_Load()
Dim Compt As Integer
Dim Xval As Integer
Dim Yval As Integer
Xval = StartX
Yval = StartY
For i = 1 To 3
    For j = 1 To 3
        Compt = Compt + 1
        Load Picture1(Compt)
        Picture1(Compt).Left = Xval
        Picture1(Compt).Top = Yval
        Picture1(Compt).Visible = True
        Xval = Xval + Picture1(0).Width + 50
    Next
    Yval = Yval + Picture1(0).Height + 50
    Xval = StartX
Next
NomJoueur(1) = InputBox("Tapez le nom du joueur 1", "Saisie du nom du joueur 1")
NomJoueur(2) = InputBox("Tapez le nom du joueur 2", "Saisie du nom du Joueur 2")
Text1.Text = NomJoueur(1)
Text2.Text = NomJoueur(2)
End Sub
Private Sub Picture1_Click(Index As Integer)
If joueur Then
    Picture1(Index).Picture = LoadPicture(App.Path & "\croix.bmp")
    Var(Index) = "o"
    joueur = False
Else
    Picture1(Index).Picture = LoadPicture(App.Path & "\Rond.bmp")
    Var(Index) = "x"
    joueur = True
End If
Picture1(Index).Enabled = False
Select Case Victoire(Var)
    Case 0
        MsgBox "Match Nul", vbOKOnly, "Fin"
        Redemarage
    Case 1
        MsgBox "Joueur 1 a gagné !!!", vbOKOnly, "Fin"
        Redemarage
    Case 2
        MsgBox "Joueur 2 a gagné !!!", vbOKOnly, "Fin"
        Redemarage
End Select
End Sub
Private Sub Redemarage()
For i = 1 To 9
    Picture1(i).Picture = LoadPicture("")
    Picture1(i).Enabled = True
    Var(i) = vbNullString
Next
joueur = True
End Sub
Private Function Victoire(Val() As String) As Integer
Dim EndGame As Boolean
Dim Result(7) As String
Result(0) = Val(1) + Val(2) + Val(3)
Result(1) = Val(4) + Val(5) + Val(6)
Result(2) = Val(7) + Val(8) + Val(9)
Result(3) = Val(1) + Val(4) + Val(7)
Result(4) = Val(2) + Val(5) + Val(8)
Result(5) = Val(3) + Val(6) + Val(9)
Result(6) = Val(1) + Val(5) + Val(9)
Result(7) = Val(3) + Val(5) + Val(7)
For i = 1 To UBound(Val)
    If Val(i) = vbNullString Then Exit For    If i 9 Then EndGame True
Next
For i = 1 To UBound(Result)
    If Result(i) = "ooo" Then
        Victoire = 1
        Exit Function
    ElseIf Result(i) = "xxx" Then
        Victoire = 2
        Exit Function
    End If
Next
If EndGame Then
    Victoire = 0
Else
    Victoire = 3
End If
End Function
Private Sub Command1_Click()
End
End Sub


K@zuya 8-)
0
Rejoignez-nous