# Importe les modules requis import matplotlib import random # Definit le paquet de cartes paquet = ['2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A'] familles = ['♥', '♦', '♣', '♠'] cartes = [(carte, famile) for carte in paquet for famile in familles] # Crée une liste de tuple avec les cartes du paquet main_du_joueur = [] main_du_croupier = [] # Definit la valeur de chaque carte valeur_des_cartes = {'2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9, '10': 10, 'J': 10, 'Q': 10, 'K': 10, 'A': 11} # Fonction qui distribue les cartes def distribue_carte(): return cartes.pop(random.randint(0, len(cartes)-1)) # Enlève une carte aléatoirement du paquet et la renvoie # Calcule la valeur d'une main def valeur_de_la_main(main): valeur = sum(valeur_des_cartes[carte[0]] for carte in main) # Somme des valeurs des cartes num_aces = sum(1 for carte in main if carte[0] == 'A') # Compte le nb d'as while valeur > 21 and num_aces > 0: # Si la main vaut plus que 21 alors l'as vaut 1 et plus 11 valeur -= 10 num_aces -= 1 return valeur # Definit la fonction principale du jeu def jeu(): print() print() print(' Bienvenue au Blackjack!') print() print() argent = int(input('Avec combien d argent voulez vous jouer ? ')) print() argent_depart = argent rejouer = 'oui' #affichage def affichage (x): if len(x) == 1: if x[0][0] == '10': print('┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'|/\/\/\/\/|') print('| |',' |\/\/\/\/\|') print(f'| {x[0][0]} |',' 'f'|/\/\/\/\/|') print('| |',' |\/\/\/\/\|') print(f'| {x[0][1]} |',' 'f'|/\/\/\/\/|') print('└─────────┘',' └─────────┘') else : print('┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'|/\/\/\/\/|') print('| |',' |\/\/\/\/\|') print(f'| {x[0][0]} |',' 'f'|/\/\/\/\/|') print('| |',' |\/\/\/\/\|') print(f'| {x[0][1]} |',' 'f'|/\/\/\/\/|') print('└─────────┘',' └─────────┘') elif len(x) == 2: if x[0][0] == '10' and x[1][0] != '10': print('┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |') print('| |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |') print('| |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |') print('└─────────┘',' └─────────┘') elif x[0][0] != '10' and x[1][0] == '10': print('┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |') print('| |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |') print('| |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |') print('└─────────┘',' └─────────┘') elif x[0][0] == '10' and x[1][0] == '10': print('┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |') print('| |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |') print('| |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |') print('└─────────┘',' └─────────┘') else : print('┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |') print('| |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |') print('| |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |') print('└─────────┘',' └─────────┘') elif len(x) == 3: if x[0][0] == '10' and x[1][0] == '10' and x[2][0] =='10': print('┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |') print('| |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |') print('| |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘') elif x[0][0] == '10' and x[1][0] == '10' and x[2][0] !='10': print('┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |') print('| |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |') print('| |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘') elif x[0][0] == '10' and x[1][0] != '10' and x[2][0] =='10': print('┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |') print('| |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |') print('| |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘') elif x[0][0] == '10' and x[1][0] != '10' and x[2][0] !='10': print('┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |') print('| |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |') print('| |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘') elif x[0][0] != '10' and x[1][0] == '10' and x[2][0] =='10': print('┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |') print('| |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |') print('| |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘') elif x[0][0] != '10' and x[1][0] == '10' and x[2][0] !='10': print('┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |') print('| |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |') print('| |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘') elif x[0][0] != '10' and x[1][0] != '10' and x[2][0] =='10': print('┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |') print('| |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |') print('| |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘') else : print('┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |') print('| |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |') print('| |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘') elif len(x) == 4: if x[0][0] == '10' and x[1][0] != '10' and x[2][0] !='10' and x[3][0] !='10': print('┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |',' 'f'| {x[3][0]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘',' └─────────┘') elif x[0][0] == '10' and x[1][0] != '10' and x[2][0] !='10' and x[3][0] =='10': print('┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |',' 'f'| {x[3][0]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘',' └─────────┘') elif x[0][0] != '10' and x[1][0] == '10' and x[2][0] !='10' and x[3][0] =='10': print('┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |',' 'f'| {x[3][0]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘',' └─────────┘') elif x[0][0] != '10' and x[1][0] == '10' and x[2][0] !='10' and x[3][0] !='10': print('┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |',' 'f'| {x[3][0]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘',' └─────────┘') elif x[0][0] != '10' and x[1][0] != '10' and x[2][0] =='10' and x[3][0] =='10': print('┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |',' 'f'| {x[3][0]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘',' └─────────┘') elif x[0][0] != '10' and x[1][0] != '10' and x[2][0] =='10' and x[3][0] !='10': print('┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |',' 'f'| {x[3][0]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘',' └─────────┘') elif x[0][0] != '10' and x[1][0] != '10' and x[2][0] !='10' and x[3][0] =='10': print('┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |',' 'f'| {x[3][0]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘',' └─────────┘') else : print('┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |',' 'f'| {x[3][0]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘',' └─────────┘') elif len(x) == 5: if x[0][0] != '10' and x[1][0] != '10' and x[2][0] !='10' and x[3][0] !='10' and x[4][0] == '10': print('┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |',' 'f'| {x[4][1]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |',' 'f'| {x[3][0]} |',' 'f'| {x[4][0]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |',' 'f'| {x[4][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘',' └─────────┘',' └─────────┘') elif x[0][0] != '10' and x[1][0] != '10' and x[2][0] !='10' and x[3][0] =='10' and x[4][0] != '10': print('┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |',' 'f'| {x[4][1]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |',' 'f'| {x[3][0]} |',' 'f'| {x[4][0]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |',' 'f'| {x[4][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘',' └─────────┘',' └─────────┘') elif x[0][0] != '10' and x[1][0] != '10' and x[2][0] !='10' and x[3][0] =='10' and x[4][0] == '10': print('┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |',' 'f'| {x[4][1]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |',' 'f'| {x[3][0]} |',' 'f'| {x[4][0]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |',' 'f'| {x[4][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘',' └─────────┘',' └─────────┘') elif x[0][0] != '10' and x[1][0] != '10' and x[2][0] =='10' and x[3][0] !='10' and x[4][0] != '10': print('┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |',' 'f'| {x[4][1]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |',' 'f'| {x[3][0]} |',' 'f'| {x[4][0]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |',' 'f'| {x[4][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘',' └─────────┘',' └─────────┘') elif x[0][0] != '10' and x[1][0] == '10' and x[2][0] !='10' and x[3][0] !='10' and x[4][0] != '10': print('┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |',' 'f'| {x[4][1]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |',' 'f'| {x[3][0]} |',' 'f'| {x[4][0]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |',' 'f'| {x[4][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘',' └─────────┘',' └─────────┘') elif x[0][0] != '10' and x[1][0] == '10' and x[2][0] !='10' and x[3][0] !='10' and x[4][0] == '10': print('┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |',' 'f'| {x[4][1]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |',' 'f'| {x[3][0]} |',' 'f'| {x[4][0]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |',' 'f'| {x[4][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘',' └─────────┘',' └─────────┘') elif x[0][0] == '10' and x[1][0] != '10' and x[2][0] !='10' and x[3][0] !='10' and x[4][0] != '10': print('┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |',' 'f'| {x[4][1]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |',' 'f'| {x[3][0]} |',' 'f'| {x[4][0]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |',' 'f'| {x[4][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘',' └─────────┘',' └─────────┘') elif x[0][0] == '10' and x[1][0] != '10' and x[2][0] !='10' and x[3][0] !='10' and x[4][0] == '10': print('┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |',' 'f'| {x[4][1]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |',' 'f'| {x[3][0]} |',' 'f'| {x[4][0]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |',' 'f'| {x[4][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘',' └─────────┘',' └─────────┘') else: print('┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |',' 'f'| {x[4][1]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |',' 'f'| {x[3][0]} |',' 'f'| {x[4][0]} |') print('| |',' | |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |',' 'f'| {x[4][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘',' └─────────┘',' └─────────┘') elif len(x) == 6 : print('┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |',' 'f'| {x[4][1]} |',' 'f'| {x[5][1]} |') print('| |',' | |',' | |',' | |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |',' 'f'| {x[3][0]} |',' 'f'| {x[4][0]} |',' 'f'| {x[5][0]} |') print('| |',' | |',' | |',' | |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |',' 'f'| {x[4][1]} |',' 'f'| {x[5][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘',' └─────────┘',' └─────────┘',' └─────────┘') elif len(x) == 7 : print('┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |',' 'f'| {x[4][1]} |',' 'f'| {x[5][1]} |',' 'f'| {x[6][1]} |') print('| |',' | |',' | |',' | |',' | |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |',' 'f'| {x[3][0]} |',' 'f'| {x[4][0]} |',' 'f'| {x[5][0]} |',' 'f'| {x[6][0]} |') print('| |',' | |',' | |',' | |',' | |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |',' 'f'| {x[4][1]} |',' 'f'| {x[5][1]} |',' 'f'| {x[6][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘',' └─────────┘',' └─────────┘',' └─────────┘',' └─────────┘') elif len(x) == 8 : print('┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |',' 'f'| {x[4][1]} |',' 'f'| {x[5][1]} |',' 'f'| {x[6][1]} |',' 'f'| {x[7][1]} |') print('| |',' | |',' | |',' | |',' | |',' | |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |',' 'f'| {x[3][0]} |',' 'f'| {x[4][0]} |',' 'f'| {x[5][0]} |',' 'f'| {x[6][0]} |',' 'f'| {x[7][0]} |') print('| |',' | |',' | |',' | |',' | |',' | |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |',' 'f'| {x[4][1]} |',' 'f'| {x[5][1]} |',' 'f'| {x[6][1]} |',' 'f'| {x[7][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘',' └─────────┘',' └─────────┘',' └─────────┘',' └─────────┘',' └─────────┘') elif len(x) == 9 : print('┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐',' ┌─────────┐') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |',' 'f'| {x[4][1]} |',' 'f'| {x[5][1]} |',' 'f'| {x[6][1]} |',' 'f'| {x[7][1]} |',' 'f'| {x[8][1]} |') print('| |',' | |',' | |',' | |',' | |',' | |',' | |',' | |',' | |') print(f'| {x[0][0]} |',' 'f'| {x[1][0]} |',' 'f'| {x[2][0]} |',' 'f'| {x[3][0]} |',' 'f'| {x[4][0]} |',' 'f'| {x[5][0]} |',' 'f'| {x[6][0]} |',' 'f'| {x[7][0]} |',' 'f'| {x[8][0]} |') print('| |',' | |',' | |',' | |',' | |',' | |',' | |',' | |',' | |') print(f'| {x[0][1]} |',' 'f'| {x[1][1]} |',' 'f'| {x[2][1]} |',' 'f'| {x[3][1]} |',' 'f'| {x[4][1]} |',' 'f'| {x[5][1]} |',' 'f'| {x[6][1]} |',' 'f'| {x[7][1]} |',' 'f'| {x[8][1]} |') print('└─────────┘',' └─────────┘',' └─────────┘',' └─────────┘',' └─────────┘',' └─────────┘',' └─────────┘',' └─────────┘',' └─────────┘') #boucle principale while argent > 0 and rejouer.lower() == 'oui': print(f'Vous avez {argent}€') print() pari = int(input('Combien voulez vous parier ? ')) argent -= pari print() # Distribue les cartes main_du_joueur = [distribue_carte(), distribue_carte()] main_du_croupier = [distribue_carte(), distribue_carte()] # Montre la main du joueur et une carte du croupier main_du_croupier0 = [] main_du_croupier0.append(main_du_croupier[0]) print() print(' Main du croupier :') print() affichage(main_du_croupier0) print() print(' Votre main :') print() affichage(main_du_joueur) print(f' Valeur : {valeur_de_la_main(main_du_joueur)}') player_brule = False # Vérifie s'il y a un blackjack pour le joueur ou le croupier if valeur_de_la_main(main_du_joueur) == 21 and valeur_de_la_main(main_du_croupier) != 21: print() print('Blackjack ! Vous avez gagné !') argent += int(pari * 2.5) player_brule = True elif valeur_de_la_main(main_du_joueur) == 21 and valeur_de_la_main(main_du_croupier) == 21: print() print(' Main du croupier :') print() affichage(main_du_croupier) print() print('Double blackjack ! Égalité.') player_brule = True else: # Vérifie si le croupier a un as et propose une assurance if main_du_croupier[0][0] == 'A': assurance = input('Le croupier a un as, voulez vous l\'assurance (oui ou non) ?') if assurance.lower() == 'oui': assurance_pari = int(pari / 2) argent -= assurance_pari if valeur_de_la_main(main_du_croupier) == 21: print() print(' Main du croupier :') print() affichage(main_du_croupier) print() print('Le croupier a un blackjack, vous gagnez votre assurance !') argent += assurance_pari * 2 player_brule = True else: print('Le croupier n\'a pas de blackjack, vous perdez votre assurance !') # Boucle joueur while not player_brule: # Vérifie si le joueur brule if valeur_de_la_main(main_du_joueur) > 21: print('Vous brulez') print() print(' Main du croupier :') print() affichage(main_du_croupier) print() player_brule = True else: # Demande si le joueur veut rester ou tirer print() action = input('Voulez vous tirer ou rester ? ') if action == 'tirer': main_du_joueur.append(distribue_carte()) print() print(' Main du croupier :') print() affichage(main_du_croupier0) print() print(' Votre main :') print() affichage(main_du_joueur) print(f' Valeur : {valeur_de_la_main(main_du_joueur)}') if valeur_de_la_main(main_du_joueur) == 21 : action == 'rester' elif action == 'rester': croupier_brule = False # boucle du croupier while valeur_de_la_main(main_du_croupier) < 17 and not croupier_brule: main_du_croupier.append(distribue_carte()) print() print(' Le croupier tire :') print() print(' Main du croupier :') print() affichage(main_du_croupier) print() print(f' Valeur : {valeur_de_la_main(main_du_croupier)}') # regarde si le croupier brule if valeur_de_la_main(main_du_croupier) > 21: print() print('Le croupier brule ! Vous avez gagné.') argent += 2*pari croupier_brule = True # Compare les mains et détermine le gagnant if not croupier_brule: if valeur_de_la_main(main_du_joueur) > valeur_de_la_main(main_du_croupier): print() print(' Main du croupier :') print() affichage(main_du_croupier) print() print('Vous avez gagné !') argent += 2*pari elif valeur_de_la_main(main_du_joueur) == valeur_de_la_main(main_du_croupier): print() print('Egalité !') else: print() print('Le croupier gagne !') player_brule = True if argent <= 0: print() print('Vous n\'avez plus d argent, la partie est terminée') break print() rejouer = input('Voulez vous rejouer ? ') print() while rejouer.lower () != 'non' and rejouer.lower () != 'oui' : print('Répondez par oui ou non') print() rejouer = input('Voulez vous rejouer ? ') if rejouer.lower () == 'non': print ('Vous repartez avec', argent,'€') print() print('Merci d\'avoir joué!') print() # lance le jeu jeu()