IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Génération de cartes à jouer


Sujet :

Algorithmes et structures de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Génération de cartes à jouer
    Bonjour à tous, je cherche un algorithme qui me permette de restituer les cartes d'un jeux de 52 cartes.
    Jusqu'à présent, lors d'une même distribution, je peut encore trouver deux fois la même carte bien que je vois ce genre d'exemple de moins en moins suite a différents algo(si on peut apeller ça comme ça).

    J'ai classé mes hauteurs de cartes (de 0 a 12) dans un tableau et les 4 couleur dans un autre tableau.

    Je fait une boucle de 0 a 7 (puisqu'il me faut 7 cartes) en faisant le test
    :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    carte[k] = carte[k+1]  et couleur[k] = couleur[k+1]
    Refaire dans ce cas la une autre sélection de carte aléatoire.
    Bien sur dans mon tableau carte[k] est de couleur couleur[k] (même carte sur les 7 quoi).

    J'aimerais savoir quelle sont les failles dans cet algo, et/ou comment arriver à faire un truc qui me génère 7 cartes différentes a partir de mes deux tableaux plus haut.

    Merci beaucoup pour votre aide.

    Ps : si je ne me suis pas bien fait comprendre, je me ferais un plaisir de ré expliquer

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par kader93 Voir le message
    Bonjour à tous, [...]
    J'aimerais savoir quelle sont les failles dans cet algo, et/ou comment arriver à faire un truc qui me génère 7 cartes différentes a partir de mes deux tableaux plus haut.
    Tu ne testes que la comparaison avec la dernière carte tiré.
    Vu que tu procèdes itérativement il te faut expliciter dire que tu veux comparer avec toutes les dernières cartes.

  3. #3
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    En bref tu génère complètement aléatoirement les cartes mais tu vérifies que la carte que tu génères n'est pas la même que celle que tu viens de générer ?
    N'est-il pas évident qu'en faisant ça, la 3ème carte générée peut tout à fait être identique à la première ? En fait tout ce que tu garantis c'est qu'il y aura au moins 2 cartes différentes parmi tes 7...

    Généralement dans les cas de "n choix aléatoire sans répétition", tu as trois méthodes :
    1. Pour chacun des n tirages, on le répète tant qu'il n'est pas différent de tous les tirages précédents (et pas seulement de celui qui l'a immédiatement précédé),
    2. on fait une liste de toutes les possibilités, puis à chaque tirage on retire l'élément qu'on vient de tirer de la liste,
    3. on fait un tableau de toutes les possibilités, on le mélange aléatoirement puis on prend les n premiers éléments


    Choisit celle qui convient le mieux à ton problème, a priori la méthode 1 doit bien suffire.

    --
    Jedaï

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Juste une remarque concernant l'algo 1, si on n'a vraiment pas de chance (mais alors vraiment pas), le temps de tirage peut être très long voire même infini.

    Ce qui peut arriver, arrivera et toujours au plus mauvais moment. Donc je choisirais plutôt les algos 2 ou 3.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Jedai Voir le message
    En bref tu génère complètement aléatoirement les cartes mais tu vérifies que la carte que tu génères n'est pas la même que celle que tu viens de générer ?
    N'est-il pas évident qu'en faisant ça, la 3ème carte générée peut tout à fait être identique à la première ? En fait tout ce que tu garantis c'est qu'il y aura au moins 2 cartes différentes parmi tes 7...

    Généralement dans les cas de "n choix aléatoire sans répétition", tu as trois méthodes :
    1. Pour chacun des n tirages, on le répète tant qu'il n'est pas différent de tous les tirages précédents (et pas seulement de celui qui l'a immédiatement précédé),
    2. on fait une liste de toutes les possibilités, puis à chaque tirage on retire l'élément qu'on vient de tirer de la liste,
    3. on fait un tableau de toutes les possibilités, on le mélange aléatoirement puis on prend les n premiers éléments


    Choisit celle qui convient le mieux à ton problème, a priori la méthode 1 doit bien suffire.

    --
    Jedaï
    Exact, je n'avais que 2 carte differentes parmi les 7.

    Je vais essayer les autres algo.
    Merci

  6. #6
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par ram_0000 Voir le message
    Juste une remarque concernant l'algo 1, si on n'a vraiment pas de chance (mais alors vraiment pas), le temps de tirage peut être très long voire même infini.

    Ce qui peut arriver, arrivera et toujours au plus mauvais moment. Donc je choisirais plutôt les algos 2 ou 3.
    En pratique, le choix de la méthode dépend beaucoup du problème, les méthodes 2 ou 3 ne sont pas de bons choix lorsque le ratio "nombre de tirages/cardinal de l'ensemble" est faible. Je pense que dans le cas présenté ici, il est suffisamment faible : 7/52.

    La malchance existe, mais il ne faut pas être paranoïaque.

    --
    Jedaï

Discussions similaires

  1. [cartes à jouer] qui y joue ?
    Par gorgonite dans le forum Jeux
    Réponses: 126
    Dernier message: 29/02/2012, 14h07
  2. Bitmaps de cartes à jouer
    Par PiPo123 dans le forum Développement 2D, 3D et Jeux
    Réponses: 2
    Dernier message: 20/02/2008, 21h01
  3. Probléme de génération avec carte de NI-DAQ 6731
    Par Bozobuldo dans le forum MATLAB
    Réponses: 2
    Dernier message: 06/03/2007, 18h20
  4. [Système] Géolocalisation et génération de carte
    Par sebos63 dans le forum Langage
    Réponses: 9
    Dernier message: 02/01/2007, 16h44
  5. Génération de carte géographique
    Par Blustuff dans le forum Algorithmes et structures de données
    Réponses: 11
    Dernier message: 11/08/2006, 16h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo