Algorithme de distribution de carte

Signaler
Messages postés
15
Date d'inscription
dimanche 27 avril 2008
Statut
Membre
Dernière intervention
29 mai 2009
-
Messages postés
15
Date d'inscription
dimanche 27 avril 2008
Statut
Membre
Dernière intervention
29 mai 2009
-
Salut a tous,




Je cherche a faire un petit jeu de carte dans lequel on effectue une distribution aleatoire sur un jeu de 32 cartes
J'ai essayé d'utiliser un tableau que je redimensionne a chaque tirage mais a l'affichage il ne m'apparait qu'une ou deux cartes sur les 8
Voici la gueule de mon algorithme

For i = 1
To 8c =

CInt(Rnd() * 32 + 1 - i)

If c < 0
Thenc = c + 10

j1(i) = carte(c)

For t = 1
To c - 1carte(t) = carte(t)

Next

For t = c
To 32 - icarte(t) = carte(t + 1)

Next

ReDim
Preserve carte(32 - i)

End
If

Next

Ensuite j'affiche le resultat dans des labels.
Pouvez vous me dire ce qu'il ne va pas dans mon algorithme et dans le meilleur des cas pouvez vous me
 transmettre un algorithme type de tirage de carte ecrit en VB2006 voire en VB2008.
J'espere avoir des reponses bientot.
Merci a vous 

4 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
126
Salut,

Si tu fais du VB.NET (2006, qui n'existe pas..., ou 2008), pourquoi tu poste dans le forum VB6 ???

Je déplace vers le forum approprié !

Sinon, tu peux me dire ce qu'est censé faire cette instruction :
For t = 1
To c - 1carte(t) = carte(t)

Next

lol !
______________________________________
DarK Sidious
Messages postés
15
Date d'inscription
dimanche 27 avril 2008
Statut
Membre
Dernière intervention
29 mai 2009

Salut
En fait cette expression for i=1 to c-1
                                   carte(t)=carte(t)
me sert a remplir mon tableau avec les cartes restantes mais vu ta reaction je pense que je vais le supprimer
Depuis j'ai trouvé mon erreur qui etait un end if mal placé.
Maintenant ca marche(apres quelques modif bien sur )
Pour tout dire je me suis apercu de mon erreur en cliquant sur envoyer lorsque j'ai posté le message.
Ironie quand tu nous tient.......
Merci pour la reponse
A plus
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
126
Salut,

Ben disont que ta boucle for ne sert à rien (si ce n'est ralentir ton programme) :

carte(t) = carte(t)

Tu ne modifie rien avec une telle affectation !

______________________________________
DarK Sidious
Messages postés
15
Date d'inscription
dimanche 27 avril 2008
Statut
Membre
Dernière intervention
29 mai 2009

Salut,
Oui a effet tu as raison.
J'ai supprime cette partie du programme et ca n'a rien changé
Merci pour ce conseil d'optimisation qui reduit gentillement mon code.
Maintenant mon programme distribue les cartes et les range selon leur valeur.
Il ne me reste plus qu'a trouvé un truc sympa a faire avec ca.........
Imagination is a gift from god.
Tchoooooo