Demo entry 6646177

Projet Blackjack

   

Submitted by anonymous on Oct 16, 2017 at 00:17
Language: Python 3. Code size: 4.8 kB.

"""
Auteur : Lorenzo Lapage
"""
from random import randint, seed
print("Bienvenue au Blackjack")
graine=int(input("Entrez la graine : "))
seed(graine)

# Le joueur indique la quantité d'argent qu'il a en sa possession
print("Veuillez entrer la quantité d\'argent en votre possession : ", end="")
portefeuille = int(input())

# Le joueur défini sa mise :
rejouer = 0
while rejouer != 2 : #redémarrage de la boucle si le joueur veut refaire une partie
    print("Veuillez entrer votre mise (vous avez : " + str(portefeuille) + ") : ", end = "")
    mise = int(input())
    portefeuille = portefeuille - mise # débit de la mise du portefeuille
    #Boucle du tirage de carte pour le joueur
    saute = False
    somme = 0
    liste_cartes = []
    liste_cartes_banque = []
    figures = ("valet", "dame", "roi")
    
    #La boucle s'arrête avec la fonction break si le joueur saute ou ne veut plus de cartes
    while True : 
        print("La carte tirée est : ", end = "")
        carte = randint(1, 13)
        if carte == 1 : #transformation des int
            carte = "as"
        if carte == 11 : 
            carte = "valet"
        if carte == 12 :
            carte = "dame"
        if carte == 13 :
            carte = "roi"
        print(carte)
        if carte in figures : # Une figure vaut 10 points
            carte = 10
        #Si le joueur a strictement moins que 11 points l'as vaudra 11, sinon 1
        if somme < 11 and carte == "as" :
            carte = 11
        elif carte == "as" :
            carte = 1
        liste_cartes.append(carte) # ajout de la carte dans la liste
        somme = somme + carte #somme des points du joueur
        if somme > 21 : # Le joueur saute avec 22 points ou plus
            saute = True 
            # La liste permet de vérifier si le joueur a pioché un as
            if liste_cartes.count(11) : 
                liste_cartes[liste_cartes.index(11)] = 1
                somme = somme -10
                saute = False
            else :
                print("Vous avez sauté")
                break
        print("Souhaitez-vous une carte ? (1: oui, 2: non) ", end = "")
        piocher = int(input())
        if piocher == 1 :
            pass #La fonction "pass" montre que le tirage de carte(s) continue normalement si le joueur répond oui
        elif piocher == 2 :
            break #Le tirage de carte s'arrête et les points sont indiqués immédiatement

    #C'est au tour de la banque si le joueur n'a pas sauté
    if saute != True : 
        print("Vous avez obtenu " + str(somme) + " points")
        print("La banque joue :")
        saute_banque = False
        somme_banque = 0 #Points de la banque
        while somme_banque < 17 : #la banque tire des cartes jusqu'à obtenir 17 points minimum
            print("La carte tirée est : ", end = "")
            carte_banque = randint(1, 13)
            if carte_banque == 1 :
                carte_banque = "as"
            elif carte_banque == 11 :
                carte_banque = "valet"
            elif carte_banque == 12 :
                carte_banque = "dame"
            elif carte_banque == 13 :
                carte_banque = "roi"
            print(carte_banque)
            if carte_banque in figures : # Convertir les figures en 10 points
                carte_banque = 10
            #Même gestion de l'as pour la banque que pour le joueur
            if somme_banque < 11 and carte_banque == "as" :
                carte_banque = 11
            elif carte_banque == "as" :
                carte_banque = 1
            liste_cartes_banque.append(carte)
            somme_banque = somme_banque + carte_banque
            if somme_banque > 21 :
                saute_banque = True
                if liste_cartes_banque.count(11) :
                    liste_cartes_banque[liste_cartes_banque.index(11)] = 1
                    somme_banque = somme_banque -10
                    saute_banque = False
                else :
                    print("La banque a sauté")
                    print("Vous gagnez " + str(mise))
                    portefeuille = portefeuille + mise*2
                    break
        if saute_banque != True :
            print("La banque a obtenu " + str(somme_banque) + " points")
            if somme < somme_banque : # Si le joueur a moins de points que la banque
                print("La banque gagne")
            elif somme == somme_banque : # Si ils ont les mêmes points
                print("Égalité")
                portefeuille = portefeuille + mise
            else : # Le joueur a plus de points que la banque
                print("Vous gagnez " + str(mise))
                portefeuille = portefeuille + (mise*2)
    print("")
    print("Souhaitez-vous jouer une autre partie ? (1: oui, 2: non) ", end = "")
    rejouer = int(input()) # Rejouer une partie

This snippet took 0.01 seconds to highlight.

Back to the Entry List or Home.

Delete this entry (admin only).