CARTES=[(i,j) for i in range(8) for j in range(4)]
Pour un jeu de 32 cartes, on représente la valeur et la couleur d'une carte par un tuple d'entiers $(i,j)$ tels que:
La classe Card
fournie ci-après permet d'afficher deux cartes côte à côte avec différents affichages possibles.
Exemples :
carte1=Card(5,2)
carte2=Card(7,0)
carte1.affiche_bataille(carte2)
carte1.affiche_bataille(carte2,visible=0)
carte1.affiche_bataille(carte2,visible=1)
class Card:
def __init__(self,i,j):
self.i=i
self.j=j
self.value =['7','8','9','10','J','Q','K','A'][i]
self.suit = ["♠","♥","♦","♣"][j]
def affiche_bataille(self,card,visible=-1):
if visible==-1:
print('┌───────┐',' ','┌───────┐')
print(f'| {self.value:<2} |',' ',f'| {card.value:<2} |')
print('| |',' ','| |')
print(f'| {self.suit} |',' ',f'| {card.suit} |')
print('| |',' ','| |')
print(f'| {self.value:>2} |',' ',f'| {card.value:>2} |')
print('└───────┘',' ','└───────┘')
elif visible==0 :
print(' ┌───────┐',' ',' ┌───────┐')
print('┌|///////|',' ','┌|///////|')
print('||///////|',' ','||///////|')
print('||///////|',' ','||///////|')
print('||///////|',' ','||///////|')
print('||///////|',' ','||///////|')
print('|└───────┘',' ','|└───────┘')
print('└───────┘ ',' ','└───────┘')
else:
print(' ┌───────┐',' ',' ┌───────┐')
print(f'┌| {self.value:<2} |',' ',f'┌| {card.value:<2} |')
print('|| |',' ','|| |')
print(f'|| {self.suit} |',' ',f'|| {card.suit} |')
print('|| |',' ','|| |')
print(f'|| {self.value:>2} |',' ',f'|| {card.value:>2} |')
print('|└───────┘',' ','|└───────┘')
print('└───────┘ ',' ','└───────┘')
En plus du programme, un fichier individuel au format .pdf de 5 pages maximum contenant un rapport avec :