Algorithme de distribution de carte

cs_Strasha Messages postés 15 Date d'inscription dimanche 27 avril 2008 Statut Membre Dernière intervention 29 mai 2009 - 27 avril 2008 à 08:57
cs_Strasha Messages postés 15 Date d'inscription dimanche 27 avril 2008 Statut Membre Dernière intervention 29 mai 2009 - 27 avril 2008 à 11:02
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

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
27 avril 2008 à 09:12
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
0
cs_Strasha Messages postés 15 Date d'inscription dimanche 27 avril 2008 Statut Membre Dernière intervention 29 mai 2009
27 avril 2008 à 09:34
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
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
27 avril 2008 à 10:04
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
0
cs_Strasha Messages postés 15 Date d'inscription dimanche 27 avril 2008 Statut Membre Dernière intervention 29 mai 2009
27 avril 2008 à 11:02
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
0