Machine à sous en python

Projets

Vous connaissez le casino non ? Impossible de gagner vous me direz… pour ce projet, ce n’est pas le cas, en effet nous vous garantissions une machine à sous 100% gagnante pour n… pour vous !

Vous possédez 10 000 euros, et vous pouvez misez autant d’argent que vous voulez… si vous gagnez, vous multipliez votre mise par 10 !!!!

Au moins une victoire est GARANTIE, puise que vous pouvez nous faire des crédits à l’ infini*

*bonne chance pour rembourser après

Le fonctionnement du jeu est très simple, on vous demande la somme miser, le jeu se lance, et si 3 symboles identiques s’alignent, vous gagnez (par exemple : ♢♢♢ ou ♠♠♠). Vous pouvez choisir de partir quand vous voulez , et si vous n’avez plus d’argent, vous pouvez demander des crédits pour jouer encore, ceux ci seront a rembourser. En choisissant de miser 0 vous pourrez rembourser vos dette ou choisir d’arrêter les frais.

Fonction mise et jeu :

# mise
def mise_et_jeu():
    porte_monnaie = 10000
    while porte_monnaie > 0:
        print("\nil vous reste :", porte_monnaie, "\n")
        mise=int(input("Choissisez la somme a miser : "))
        if mise > porte_monnaie:
            print("on ne peut pas jouer avec de l'argent imaginaire....\n")
        elif mise == 0:
            print("votre porte monnaie vaut", porte_monnaie)
            fin_2()
            break

        else:
            porte_monnaie -= mise
       
            # Partie jeu
            tirage_cumul = 1
            for i in range(3):          
                tirage_unitaire = choice([2,3,5,7])
                tirage_cumul = tirage_cumul  * tirage_unitaire
            
                if tirage_unitaire == 2:
                    print("♡", end=" ")
                    sleep(pause)
                elif tirage_unitaire == 3:
                    print("♢", end=" ")
                    sleep(pause)
                elif tirage_unitaire == 5:
                    print("♣", end=" ")
                    sleep(pause)
                elif tirage_unitaire == 7:
                    print("♠", end=" ")
                    sleep(pause)
            
           # récompense et affichage du résultat
            if tirage_cumul in [8,27,125,343]:
                porte_monnaie += 10*mise
                print("\nBravo !!!!!!, vous avez gagné dix fois votre mise")
            elif porte_monnaie > 0:
                print("\nVous avez perdu, essayez encore une fois")
            else:
                print("\nVous avez perdu")
    else:
        if porte_monnaie == 0:
            fin()

La fonction mise et jeu est la plus importante de notre script, elle permet a notre script de fonctionner. C’est cette fonction qui demande la mise au joueur et qui tire 3 symboles au hasard, déterminant ainsi la victoire ou la défaite.

Les différentes fins :

    
#fin
def fin():
    # porte monnaie
    global porte_monnaie
    print("Vous êtes à sec")
    sleep (2*pause)
    print("vous pouvez faire des crédits d'un montatnt de 10 000 €, celui-ci", 
          " sera à rembourser dans un an au plus tard")
    sleep(pause)
        
    # demande de prêt
    pret = int(input("Pour faire un crédit taper 1 :"))
    if pret == 1:
        porte_monnaie += 10000
        credit()
    else:
        fin_3()
#fin alternative
def fin_2():
    choix = int(input("Si vous voulez quitter taper 1\n"
                       "\nSi vous voulez rejouer taper 2\n"
                       "\nSi vous voulez rembourser votre dette taper 3\n"
                       "\nVotre réponse:"))
    if choix == 1:
        global porte_monnaie
        print("Merci d'avoir joué, il vous reste:", porte_monnaie, "€")
    elif choix == 2:
        mise_et_jeu()
    elif choix == 3:
        global dette
        if dette > 0:
            remboursement()
        else:
            print("Vous n'avez aucune dette à rembourser")
            mise_et_jeu()
    else:
        print ("Votre choix ne correspond pas\n""Merci d'avoir joué")
    
#fin alternative
def fin_3():          
        global dette
        if dette > 0:
            print("Votre dette s'élève à:", dette, "€",
                  "\nelle sera à rembourser dans un an au plus tard\n")
            print("Merci d'avoir joué et au revoir")
        else:
            print("Merci d'avoir joué et au revoir")

(ainsi que les définitions remboursement et crédit nécessaire aux différentes fins du jeu)

#credit
def credit():
    global dette
    dette += 10000
    print ("Votre dette s'élève à:", dette, "€")
    mise_et_jeu()

#remboursement
def remboursement():
    global dette
    global porte_monnaie
    argent = int(input("Rentrer la somme à rembourser:"))
    if argent > porte_monnaie:
        print("on ne peut pas payer avec de l'argent imaginaire")
    elif argent < dette:
        porte_monnaie -= argent
        dette -= argent
        print("Il vous reste ", dette, "à rembourser et vous avez",
              porte_monnaie, "€")
    elif argent == dette:
        porte_monnaie -= argent
        dette -= argent
        print("Vous n'avez plus de dette à rembourser et vous avez",
              porte_monnaie, "€")
        fin_2()

Les difficultés rencontrées :

  • nous n’avions pas mis de fonctions dans un premiers temps, et il a été dur de les créer pour chaque parties du script et de les relier entres elles
  • Nous ne connaissions pas la fonction global quand nous avons fais le script et par conséquent il était impossible pour nous d’utiliser la même variable dans plusieurs fonctions.

Pour tester notre machine a sous :