Projet python jeu de carte

Fermé
Ronon - Modifié par Ronon le 7/04/2014 à 14:27
 Utilisateur anonyme - 7 avril 2014 à 22:56
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



Voici mon debut de code :

# Melange et Distribution des cartes #

# Creation du Paquet De Jeu de 52 cartes #

# definition des variables pour la création du paquet de Jeu

enseigne=["pique","carreau","trefle","coeur"]
valeur=[1,3,4,5,6,7,8,9,10,"valet","dame","roi",2]


def creation():
return [(x,y) for x in valeur for y in enseigne]

PaquetDeCarte = creation()
# Creation de la fonction Melange de cartes #

import random

PaquetDeCarteMelanger = random.sample(PaquetDeCarte,52)

# Création du programme de distribution de carte pour n joueurs #

NombreJoueurs = int(input("Quel est le nombre de joueurs ? (entre 4 et 6 )"))

Joueurs = [[],[],[],[],[],[]]


J1 = Joueurs[0]
J2 = Joueurs[1]
J3 = Joueurs[2]
J4 = Joueurs[3]
J5 = Joueurs[4]
J6 = Joueurs[5]





NbDeCarteParJoueurs = int (52 / NombreJoueurs)
print(NbDeCarteParJoueurs)

for carte in PaquetDeCarteMelanger:











1 réponse

Utilisateur anonyme
7 avril 2014 à 17:50
"j'ai réussi à crée le jeu de carte et à le mélanger mais je n'arrive pas à le distribué aux joueurs ."

Tu crées 2 listes :

Une contenant les cartes du joueur_1
Une autre les cartes du joueur_2

Donc...

from random import choice

def ajouterCarte(mesCartes, joueur):
    carte = choice(mesCartes)
    joueur.append(carte)
    mesCartes.remove(carte)

cartes = list(range(10))

carte_joueur_1 = []
carte_joueur_2 = []

while cartes:
    ajouterCarte(cartes, carte_joueur_1)
    ajouterCarte(cartes, carte_joueur_2)

print(carte_joueur_1)
print(carte_joueur_2)


fred1599@fred1599-Aspire-5741G:~$ python3 test.py
[1, 3, 2, 8, 5]
[4, 7, 0, 9, 6]
3
Merci pour ta reponse
excuse moi mais pourquoi tu utilise while ?
0
Utilisateur anonyme
7 avril 2014 à 22:56
Tu as regardé la fonction ajouterCarte ?

Je retire une carte du paquet, la boucle while se traduit

Tant qu'il reste des cartes dans le paquet
    On choisi une carte au hasard
    On l'ajoute dans le tas du joueur 1
    On la retire du paquet
    Idem pour joueur 2


Quand le paquet est vide, donc quand cartes est une liste vide, on sort de la boucle...
0