cours et tutoriel python

Python : Représenter un jeu de cartes avec ce langage

Dans ce tutoriel, nous examinons certaines applications des fonctions de base de Python et nous présentons quelques nouvelles fonctionnalités.

Représenter un jeu de carte avec le langage python


En informatique, nous avons toujours eu le problème de représenter une situation réelle à travers un programme. Cela signifie que nous devons choisir les structures de données appropriées, qui contiennent les informations que nous devons connaître, et les fonctions appropriées qui opèrent sur ces données pour obtenir les résultats souhaités. Un programme d’une certaine complexité nécessite donc une phase de conception, qui consiste essentiellement à analyser les informations qu’il faudra connaître et la manière dont le programme doit manipuler ces informations, puis à traduire tout cela en éléments du langage python(variables et fonctions ).

Problème : nous voulons représenter un jeu de cartes, qui pourra ensuite être utilisé pour simuler des jeux. Analysons d’abord les informations que nous devons connaître :

  • Un deck est composé de 40 cartes
  • Chaque carte est caractérisée par une couleur (pièces, coupes…) et par une valeur (as, deux, …)


Voyons ensuite les opérations que nous pouvons effectuer sur le pont :

  • Mélangez le jeu
  • Sortir une carte


Voici une solution à notre problème :

  • Pour représenter une carte, nous avons juste besoin d’un nombre de 0 à 39. Les 10 premières cartes sont les pièces de monnaie, les 10 secondes les coupes, puis les épées et les bâtons.
  • 0 – 9 -> PIÈCES 10 – 19 -> TASSES 20 – 29 -> ÉPÉES 30 – 39 -> BÂTONS
  • Il est préférable d’utiliser les nombres de 0 à 39 (au lieu de 1 à 40), car ainsi le premier chiffre du nombre nous donnera sa graine, le deuxième chiffre (plus 1) sa valeur.
  • A ce stade le jeu de cartes sera une simple liste de nombres entiers, très facile à créer avec la fonction range() que nous avons déjà vue ici.
  • Pour mélanger le jeu, vous pouvez utiliser la fonction shuffle (list), trouvée dans le module random et qui permute aléatoirement les éléments d’une liste.
  • Pour extraire une carte du jeu, vous pouvez utiliser la fonction pop () : comme nous l’avons vu, elle supprime le dernier numéro de la liste et le renvoie au programme appelant.
  • Une fois la carte extraite il va falloir trouver sa couleur et sa valeur : cela revient à trouver le premier et le deuxième chiffre d’un nombre à 2 chiffres : pour les obtenir il faut utiliser deux opérateurs sur des nombres entiers (aller et revoir ici …)
from random import *

graines = ["pièces", "tasses", "épées", "bâtons"]
valeurs = ["as", "deux", "trois", "quatre", "cinq", "six", "sept", "valet", "chevalier", "roi"]
carte = []
while True:
    resp = input("Appuyez sur q pour quitter, Enter pour piocher une carte")
    if resp == "q":
        break
    if len(carte) == 0:
        carte = list(range(40))
        shuffle(carte)
        print("Attendez ! Je mélange le jeu…")
    c = carte.pop()             # notre carte (numéro de 0 à 39)
    s = c // 10                 # costume de carte (voir ci-dessus)
    val = c % 10                # valeur de la carte (il n'est pas nécessaire d'ajouter la carte
                                # indices de la liste vont de 0 à 9)
    print(valeurs[val], "di", graines[s])
print("Fin du programme")


 Créer la pioche et piocher une carte avec un code python

représenter un jeu de carte avec le langage python
représenter un jeu de carte avec le langage python

Les deux premières étapes sont comme dans le programme précédent
Définir la liste des cartes initialement vides (nous la “remplirons” dans le cycle principal, à chaque fois que nous devons rebattre le paquet)
Entrez maintenant dans une boucle while sans fin  Avec une entrée () imprimez le message pour l’utilisateur et prenez la chaîne resp
Si resp est égal à “q” quitter le while immédiatement (revoir la Leçon 9), sinon…
Avant de tirer une carte, vous devez vérifier si le jeu est vide (vérifiez simplement si la longueur de la liste est 0). Dans ce cas, entrez les étapes 3 à 4 du programme précédent. Avertissez l’utilisateur en imprimant “Veuillez patienter : je mélange le jeu…”
Vous pouvez maintenant continuer avec les étapes 5 à 7 du programme précédent (toujours à l’intérieur de la boucle while)
Enfin, en dehors de ce moment, il salue l’utilisateur pour confirmer que le programme est terminé
Voici un exemple d’E/S :
Appuyez sur q pour quitter, Entrée pour piocher une carte
Attendez : je mélange les cartes… as de carreau
Appuyez sur q pour quitter, Entrée pour piocher une carte valet d’épée
Appuyez sur q pour quitter, Entrée pour piocher une carte valet de tasses
Appuyez sur q pour quitter, Entrée pour piocher une carte q
Fin du programme

Travailler avec le code python pour

Nous utilisons une liste de cartes qui contiennent les nombres de 0 à 39. Pour la remplir, nous utilisons list(range(40)).

La méthode shuffle va nous permettre de mélanger les cartes, en important le module random.

from random import *

carte=list(range(40))

print(carte)
shuffle(carte)
print(carte)

Extraire une carte avec la méthode de choix

from random import *

carte=list(range(40))

shuffle(carte)

estratta=choice(carte)
carte.remove(extrait)

print(carte)

Une boucle while qui continue jusqu’à ce que la longueur de la liste de cartes soit.


n=40

carte=list(range(n))
shuffle(carte)

while n>0:    
    estratta=choice(carte)
    carte.remove(extrait)
    print('La carte extrait est', extrait)
    print(carte)    
    n-=1

Installer IDE Python et libérer votre activité

Autres articles

Instructions de base en Python - Exercices...
Python est un langage de programmation populaire et polyvalent, apprécié...
Read more
Héritage en Python : Comprendre les Fondements...
L'héritage est l'un des concepts fondamentaux de la programmation orientée...
Read more
Guide Complet sur les Nombres Premiers en...
Dans cet article, nous explorerons en détail ce...
Read more

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *