Problème de test

william the new Messages postés 27 Date d'inscription mercredi 25 février 2004 Statut Membre Dernière intervention 24 juillet 2007 - 9 avril 2004 à 19:26
Scalpweb Messages postés 1467 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 5 mai 2010 - 11 avril 2004 à 19:17
je fais un puissance 4 et dans ma procédure poser_pion
je ne comprends pas pkoi je ne peux pas mettre un jeton au dessus de l'autre

voila ce que je fé

Private Sub Cmd_poser_Click(Index As Integer)
Dim colonne As Integer

'Call changement_joueur
colonne = Index
'parcourir la ligne en partant du bas, à la premièere case vide rencontré
'si sha_case = sha_case_vide alors
' si joueur=0 alors couleur de sha_case prend couleur de joueur1
' si joueur = 1 alors prend couleur de joueur 1
i = 8
Do
i = i - 1
Loop Until Sha_case(i).FillColor = Sha_case_vide.FillColor Or i < 0
If Sha_case(63 - (i + colonne * i)).FillColor = Sha_case_vide.FillColor Then
If joueur = 1 Then
Sha_case(63 - (i + colonne * i)).FillColor = Sha_coulj(joueur - 1).FillColor
If joueur = 2 Then
Sha_case(63 - (i + colonne * i)).FillColor = Sha_coulj(joueur - 1).FillColor
End If
End If
Call changement_joueur
End If
End Sub

je sais kil y a une erreur je pense que c ds le test mais je ne sais pas koi exactement si qqn pouvais m'aider

1 réponse

Scalpweb Messages postés 1467 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 5 mai 2010 4
11 avril 2004 à 19:17
Bon, heu, j'avoue, j'ai eue un peu la flemme de vraiment réfélchir sur ton code, mais si je comprends bien, ce que tu veux, c'est tout simplement mettre un pion dans une colonne d'un jeu puissance 4 ?
D'après ce que j'ai compris, les Sha_Case(Index) sont des PictureBox qui représentent les cases des colonnes... Bon.
On part sur le fait que si une case est vide alors :
Sha_Case(index).fillcolor = Sha_Case_Vide.FillColor
Sinon, si la case est occupé par le pion du joueur un, alors :
Sha_Case(Index).fillcolor = Joueur1.fillcolor.
Sinon, si la case est occupé par le pion du joueur 2, alors :
Sha_Case(Index).fillcolor = Joueur2.fillcolor.
Bon, alors, voici un code que tu peux utiliser :

Private Sub Cmd_poser_Click(Index As Integer)
Dim Num_Col As Integer

Num_Col = Index

For i = 1 To 8
If Sha_Case(i).fillcolor = Sha_Case_Vide.fillcolor Then
Index_Vide = i
GoTo i_Find
End If
Next i

'Si toutes les cases sont remplies :
MsgBox "Vous ne pouvez plus jouer ici !"
Exit Sub

'Sinon :
i_Find:
Select Case Joueur
'Si joueur 1 :
Case 1
Sha_Case(Index + ((Num_Col - 1) * 8)).fillcolor = Sha_Coulj(joueur - 1).fillcolor
'Si joueur 2 :
Case 2
Sha_Case(Index + ((Num_Col - 1) * 8)).fillcolor = Sha_Coulj(joueur - 1).fillcolor
End Select

Call changement_joeur

End Sub

Bon, voilà... Si y a un problème (c'est possible que ça marche pas j'ai pas vb sous le main pour essayer...) tu peux m'écrire un mail à scalpweb@hotmail.com.
Idem si tu comprends pas tout, ce serait un plaisir de t'expliquer.
Voilà, @+ sur le réseau codes-sources, Scalpweb :-)

Scalp_57 www.pice-w.fr.st pour dévellopper gratuit !
0
Rejoignez-nous