Verifier 4 pions aligner en puissance 4

Résolu
maxw004 Messages postés 28 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 31 août 2006 - 29 août 2006 à 18:55
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 - 30 août 2006 à 00:42
Salut,

j'aimerai savoir si qq'un pourrai me faire le code (ou me dire comment je peux faire ) pour verifier si 4 pions de la meme couleur sont aligner.

a savoir : les cases sont des label1(i)
               chaques ligne est composée de 7 labels qui se suive dans l'ordre des chiffres.

C'est assez urgent car j'ai exament jeudi .

Merci pour votre aide

13 réponses

chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
29 août 2006 à 20:54
Voici un exemple basé sur la combinaison de 4 parmi 7
Tu dois vérifier par la suite si pour chaque combinaison
de cases les couleurs sont identiques


Dim FistIdx as integer
Dim i as integer
Dim j as integer
Dim k as integer
Dim p as integer
Dim Sortir as Boolean


Sortir=False


FistIdx représente le premier index sur une ligne

For i=FistIdx  to FistIdx +3
   For j=i+1 to FistIdx +4
         For k=j+1 to FistIdx +5
               For p=k+1 to FistIdx +6
                   If (Label(i).BackColor=Label(j).BackColor) And _           
                       (Label(J).BackColor=Label(K).BackColor) And _           
                       (Label(K).BackColor=Label(p).BackColor) Then _
                        //Traitement
                         Sortir=True       
                         Exit For
                Next p
                    If Sortir=True  Then  Exit For              
          Next k
               If Sortir=True  Then  Exit For
     Next j
        If Sortir=True  Then  Exit For
Next i
 

chaibat
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
29 août 2006 à 19:00
"si qq'un pourrai me faire le code"

NON
certainement pas
"dire comment je peux faire" Oui, t'aider à résoudre tes problèmes, si quelqu'un sait, sans problème.
C'est clairement expliquer dans leréglement

"car j'ai exament jeudi" ????????? Toâ yanna kosé franchès ???

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
maxw004 Messages postés 28 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 31 août 2006
29 août 2006 à 19:03
J'ai examen jeudi , pour reussir mon année et je suis bloquer dans le programme que je dois m'entrainer a faire.
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
29 août 2006 à 19:07
exament ==> examen. Ok excuse, je sais pas pourquoi, j'avais compris 'exactement'

Ben dans ce cas donne nous une explication détaillée de ton blocage avec le bout de code qui pose problème, les messages d'erreurs s'il y a lieu, etc ....

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
29 août 2006 à 19:08
Ben alors entraîne toi, ca sert à cà les études non ?

Nous ne sommes pas là pour te faire tout ton programme tout fait non plus !

Comme le dit si bien notre ami casy : voir le [reglement.aspx réglement]!
0
maxw004 Messages postés 28 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 31 août 2006
29 août 2006 à 19:10
le code qui bloque :


'verifier horizontalement
      hr = 0
      hj = 0
      For b = i To i + 3
         If Label1(b).BackColor = &HC0& Then
            hr = hr + 1
            hj = hj - 1
         End If
         If Label1(b).BackColor = &HC0C0& Then
            hj = hj + 1
            hr = hr - 1
         End If         If hj 4 Or jr 4 Then
         Form2.Show
         Form1.Hide
         End If
         Next b

en fait il ne se passe rien du tout
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
29 août 2006 à 19:18
i, j'imagine que c'est l'index de la case que tu vérifie.
hr, le compteur des cases rouges
hj, le compteur des cases jaunes

jr représente quoi ? ou est-elle affectée ?

Ta condition se base sur hj (ok) et jr, qui est ici à priori totalement inconue.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
maxw004 Messages postés 28 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 31 août 2006
29 août 2006 à 19:21
je me suis tromper jr c'est en fait hr

ui i c'est l'index , hj le compteur jaune et hr le compteur rouge
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
29 août 2006 à 19:28
Et donc j'imagine qu'avec hr à la place de jr, ça marche comme tu veux.

Par contre je pense que lorsque tu à trouver ta ligne de couleur tu devrai arreter la vérification et sortir de la boucle :

Form1.Hide
Exit For
End If

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
maxw004 Messages postés 28 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 31 août 2006
29 août 2006 à 19:30
en changeant jr en hr je n'ai aucun change .
et juste en dessous de cette boucle j'ai exit sub
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
29 août 2006 à 21:05
Ajoutes un End If avant Next p
0
Dolphin Boy Messages postés 630 Date d'inscription vendredi 5 mai 2006 Statut Membre Dernière intervention 17 février 2007
30 août 2006 à 00:11
Salut,


Pas mal chaibat pour une ligne mais si mxw004 avait cherché un peu :

http://www.vbfrance.com/recherche.aspx?r=puissance4&tr=source

Il aurait ausi les solutions pour les colonnes et les diagonales.
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
30 août 2006 à 00:42
Bonsoir Dolphin Boy,
Bien vu !
En fait je ne voulais pas lui compliquer les choses,
j' ai répondu juste à sa demande , à savoir "Alignés"
et "Horizentalement".
Mais bien sûr que tout ça peut être amélioré en
commençant pa exemple les boucles par le paramètre
ligne.et en paramètrant même le nombre de cases et le
nombre de pions par case pour que ça soit plus général.
Mais tu as vu comme il était pressé le gars
Et même pas Merci !
Réservons ça pour une prochaine fois.

a+
0
Rejoignez-nous