def couleur(couleur):
"""
couleur -- chaîne qui vaut 'coeur' ou 'carreau' ou 'trèfle' ou 'pique'
renvoie la liste des cartes de cette couleur.
"""
assert couleur in ('coeur', 'carreau', 'trèfle', 'pique'), "La couleur proposée n'existe pas."
return [(couleur, k) for k in range(1,14)]
def jeu_de_cartes():
"""
renvoie la liste des 13*4 cartes.
"""
return couleur('coeur') + couleur('carreau') + couleur('trèfle') + couleur('pique')
jeu = jeu_de_cartes()
antoine = [] # jeu du joueur Antoine
basile = [] # jeu du joueur Basile
from random import randint
def distribue_une_carte(joueur):
"""
joueur -- liste des cartes d'un joueur
tire une carte au hasard dans le jeu de cartes, la supprime du jeu de cartes,
l'ajoute au jeu du joueur.
"""
# choix d'une carte au hasard dans le jeu (et suppression de cette carte du jeu):
carte = jeu.pop(randint(0,len(jeu)-1))
# ajout de la carte choisie dans le jeu du joueur:
joueur.append(carte)
def distribue_jeu(n, joueur1, joueur2):
"""
n -- nombre de cartes à distribuer à chaque joueur.
joueur1 -- liste des cartes du joueur 1
joueur2 -- liste des cartes du joueur 2
distribue n cartes à chaque joueur.
"""
assert 2*n <= len(jeu), "Attention, il n'y a pas assez de cartes dans le jeu."
for k in range(n):
distribue_une_carte(joueur1)
distribue_une_carte(joueur2)
distribue_jeu(5, antoine, basile)
antoine
basile