Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1383 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  Jeu de carte Python

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Jeu de carte Python

n°2224297
ronon
Posté le 07-04-2014 à 14:54:58  profilanswer
 

Bonjour, j'ai pour projet en informatique de crée un jeu de carte (Jeu du president ) j'ai réussi à crée le jeu de carte et à le mélanger mais je n'arrive pas à le distribué aux joueurs .  
Pour que ma question soit clair je vais expliquer comment j'ai pensé le faire et mettre mon code apres .  
Je demande donc en premier le nombre de joueurs qui peut être 4 5 ou 6  
J'ai ensuite crée une liste Joueurs qui comporte elle meme 6 sous liste .  
J'ai fait correspondre en suite chaque indice de la liste Joueurs a J1,J2,J3,J4 .... pour que ce soit plus simple ulterieurement .  
Mon but serai de crée une boucle qui parcours le jeu de carte (melanger) carte par carte et qui met une carte dans le joueurs 1 la suivante dans le joueurs 2 et ainsi de suite jusqu'a la fin de la liste .  
Pour cela il faut que ma boucle parcours le jeu de carte mais aussi la liste de joueurs en prenant aussi en compte le nombre de joueurs fournit au debut .  
et je bloque completement je n'arrive pas a faire une double boucle et meme si cela existe .  
J'ai pensé a une autre solution aussi, par exemple faire ensorte que la distribution ne ce fasse pas carte par carte mais directement le nombre de carte que le joueurs doit posseder ... mais encore là je ne voit pas trop comment faire .  
Si vous pouvez m'aider ou me donner une piste merci  
 
 
 

Code :
  1. # Melange et Distribution des cartes #
  2.  
  3.                            # Creation du Paquet De Jeu de 52 cartes #
  4.  
  5. # definition des variables pour la création du paquet de Jeu
  6. enseigne=["pique","carreau","trefle","coeur"]
  7. valeur=[1,3,4,5,6,7,8,9,10,"valet","dame","roi",2]
  8.  
  9.  
  10. def creation():
  11.    return [(x,y) for x in valeur for y in enseigne]
  12.  
  13. PaquetDeCarte = creation()
  14.                            # Creation de la fonction Melange de cartes #
  15.  
  16. import random
  17.  
  18. PaquetDeCarteMelanger = random.sample(PaquetDeCarte,52)
  19.  
  20.                            # Création du programme de distribution de carte pour n joueurs #
  21.  
  22. NombreJoueurs = int(input("Quel est le nombre de joueurs ? (entre 4 et 6 )" ))
  23.  
  24. Joueurs = [[],[],[],[],[],[]]
  25.  
  26.  
  27. J1 = Joueurs[0]
  28. J2 = Joueurs[1]
  29. J3 = Joueurs[2]
  30. J4 = Joueurs[3]
  31. J5 = Joueurs[4]
  32. J6 = Joueurs[5]
  33.  
  34.  
  35.  
  36.  
  37.  
  38. NbDeCarteParJoueurs = int (52 / NombreJoueurs)
  39. print(NbDeCarteParJoueurs)
  40.  
  41. for carte in PaquetDeCarteMelanger:

mood
Publicité
Posté le 07-04-2014 à 14:54:58  profilanswer
 

n°2224473
masklinn
í dag viðrar vel til loftárása
Posté le 08-04-2014 à 17:09:56  profilanswer
 

random.sample ça sert pas à mélanger une collection hein :o C'est random.shuffle qui fait ça :o Le principe de random.sample c'est de récupérer un sous-ensemble aléatoire de la collection de base.
 
Pour distribuer des cartes aux joueurs, tu peux garder un index dans ta séquence de carte et donner la carte courante au "index % players_count" (avec une indexation à 0), sauf naturellement que ça collera pas si le nombre de cartes n'est pas divisible par le nombre de joueurs, donc tu voudras probablement slicer le paquet pour ne garder qu'un nombre de cartes qui correspond.
 
Alternativement tu peux utiliser le recipe "grouper" d'itertools pour créer des groupes de "cards_per_player" cartes et assigner ça, ou tu peux zipper tes cartes (slicée) avec un cycle de tes joueurs pour définir l'association.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  Jeu de carte Python

 

Sujets relatifs
PYTHON Concaténation URL entraine erreur 400aide pour un programme en python (réception de e mails)
Programmation sur image avec Pythondeterminer le jour d'une date en python
Lecteur de carte RFID 13,56MHz[C] Programmer "Jeu des batons" par récursivité
Besoin d'aide sur PythonProblème pour la carte de France avec Osclass
Problème Syntaxe Python 
Plus de sujets relatifs à : Jeu de carte Python


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR