Skip to content

Instantly share code, notes, and snippets.

@SebDeclercq
Created July 24, 2018 12:57
Show Gist options
  • Select an option

  • Save SebDeclercq/c479a6e71c13eca46376ee983488ce02 to your computer and use it in GitHub Desktop.

Select an option

Save SebDeclercq/c479a6e71c13eca46376ee983488ce02 to your computer and use it in GitHub Desktop.
Exercice 11 PAIR LEARNING
#!/usr/bin/env python3
import random
class Carte():
couleurs = {'carreau': '♦', 'coeur': '♥', 'pique': '♠', 'trefle': '♣'}
noms = {"2" : 1, "3" : 2, "4" : 3, "5" : 4, "6" : 5, "7" : 6,
"8" : 7, "9" : 8, "10" : 9, "valet" : 10, "dame" : 11,
"roi" : 12, "as" : 13}
def __init__(self, nom, couleur):
if couleur not in Carte.couleurs: # Si la couleur est inconnue, erreur
raise ValueError('La couleur "' + couleur + '" est inconnue')
if nom not in Carte.noms: # Si le nom est inconnu, erreur
raise ValueError('La carte "' + nom + '" est inconnue')
self.couleur = couleur
self.nom = nom
self.valeur = Carte.noms[self.nom]
def __str__(self):
return self.nom + ' de ' + Carte.couleurs[self.couleur]
class JeuDeCartes():
def __init__(self):
self._creeJeu()
# self.position = 0
def _creeJeu(self):
self.cartes = []
for couleur in Carte.couleurs:
for nom in Carte.noms:
carte = Carte(nom=nom, couleur=couleur)
self.cartes.append(carte)
def melange(self):
random.shuffle(self.cartes)
return self.cartes
def pioche(self):
if len(self.cartes) == 0:
return None
idx = random.randint(0, len(self.cartes) - 1)
carte = self.cartes.pop(idx)
return carte
# def __iter__(self):
# return iter(self.cartes)
#
# def __next__(self):
# carte = self.cartes[self.position]
# self.position += 1
# return carte
#
# def __len__(self):
# return len(self.cartes)
#
# def __getitem__(self, idx):
# return self.cartes[idx]
if __name__ == '__main__':
jeu = JeuDeCartes()
jeu.melange()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment