SHARE
TWEET

Untitled

a guest Sep 19th, 2019 94 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import random, time
  2. """Jeu des allumettes
  3. 10 allumettes
  4. chaque joueur peut enlever 1 à 3 allumettes
  5. Je joueur qui prends la dernière allumette perds"""
  6. allumettes_par_joueur = 5
  7. nom_j = []
  8.  
  9. """Initialisation des joueurs"""
  10. while True:
  11.     if nom_j == []:
  12.         i = 1
  13.         print("Yadiho ! les copains ! Rentrez les noms des joueurs. Si vous voulez ajouter un bot, tapez \"bot\" en nom de joueur !")
  14.     nom = input(f"Quel est le nom du joueur {i} ? : ")
  15.     i += 1
  16.     """Si c'est des partie à 0 joueur on ne met pas de message, si c'est une partie à 1, un message spécifique, sinon, on lance !"""
  17.     if nom == "":
  18.         i = len(nom_j)
  19.         if len(nom_j) == 1:
  20.             print(f"Dis donc {nom_j[0]}, elle va être passionnante comme partie...\nSi ca te fait plaisir, c'est parti !")
  21.         else :
  22.             print(f"C'est parti pour une partie à {i} joueurs") if len(nom_j) != 0 else print
  23.         break
  24.     nom_j.append(nom)
  25.  
  26. """Boucle principale du jeu"""
  27. def boucle_jeu(joueurs, nb_allumette):
  28.     while True:
  29.         """Fais jouer tous les joueur de la liste au moins une fois"""
  30.         for joueur in joueurs:
  31.             """Un petit affichage des allumettes avant de jouer"""
  32.             allumettes_affichage = '['
  33.             for i in range(nb_allumette):
  34.                 allumettes_affichage += "i"
  35.             allumettes_affichage += ']'
  36.             print(allumettes_affichage)
  37.             """Si c'est un bot, on le fait jouer"""
  38.             if joueur == "bot":
  39.                 allumettes_jouees = str(random.randint(1,3))
  40.                 print(f"{joueur} joue, bip boop, bip bip. {joueur} réflechis")
  41.                 """On simule la reflexion entre une demi seconde et 5 secondes"""
  42.                 time.sleep(float(random.randint(50, 500))/100)
  43.                 print(f"{joueur} enlève {allumettes_jouees} allumettes !")
  44.             else:
  45.                 """Si c'est un joueur, il joue"""
  46.                 allumettes_jouees = input(f"{joueur}, combien d'allumettes souhaites tu retirer ? (1-3) : ")
  47.             """Vérification des données entrées"""
  48.             if not allumettes_jouees.isdigit():
  49.                 allumettes_jouees = random.randint(1,3)
  50.                 print(f"Bon, {joueur}, les chiffres à droite de la demande, c'est les valeurs que tu a le doit de rentrer.")
  51.                 print(f"Pour la peine, je fais tirer un nombre d'allumettes aléatoire... Disoooooons... {allumettes_jouees} !")
  52.             elif int(allumettes_jouees) > 3:
  53.                 allumettes_jouees = 3
  54.                 print(f"Mes excuses {joueur} mais tu as saisi plus d'allumettes qu'autorisé, donc je considère que tu souhaite enlever {allumettes_jouees}!")
  55.             elif int(allumettes_jouees) < 1:
  56.                 allumettes_jouees = 1
  57.                 print(f"Mes excuses {joueur} mais tu as saisi moins d'allumettes qu'autorisé, donc je considère que tu souhaite enlever {allumettes_jouees}")
  58.             nb_allumette -= int(allumettes_jouees)
  59.             """Si la condition de défaite est remplie"""
  60.             if nb_allumette <= 0:
  61.                 print(f"{joueur} a perdu")
  62.                 joueurs.remove(joueur)
  63.                 """Si il reste des joueurs, on prévient de la manche suivante"""
  64.                 if len(nom_j) > 1:
  65.                     print(f"Et c'est parti pour la manche suivante !\n Il nous reste {len(nom_j)} joueurs ")
  66.                 """On quitte la fonction de jeu à la fin de la manche"""
  67.                 return 0
  68.             """Sinon, On affiche les allumettes restantes"""
  69.             print(f"Il reste {nb_allumette} allumettes !")
  70.  
  71. """Si il n'y a pas de joueur, on previent que non, on peut pas jouer sans joueurs"""
  72. if len(nom_j) == 0:
  73.     print("Alors, c'est un concept interessant, mais pour jouer, il faut des joueurs.")
  74. else:
  75.     """Sinon on lance des manches en boucle tant qu'il y a plus d'un joueur"""
  76.     while len(nom_j) > 1:
  77.         """On mélange l'ordre de passage des joueurs'"""
  78.         random.shuffle(nom_j)
  79.         """On affiche et formatte la liste des joueurs"""
  80.         liste = ''
  81.         i = 0
  82.         for nom in nom_j:
  83.             if i == len(nom_j)-1:
  84.                 """Si c'est le dernier nom, on vire la virgule et l'espace et on l'ajoute à la fin de la chaine de catacteres"""
  85.                 liste += f"{nom}"
  86.             elif i == len(nom_j)-2:
  87.                 """Si c'est l'avant dernier nom, on vire la virgule et on ajoute un espace et "et" l'espace et on l'ajoute à la fin de la chaine de catacteres"""
  88.                 liste += f"{nom} et "
  89.             else:
  90.                 """Sinon on ajoute le noms, suivi d'une virgule et d'un espace"""
  91.                 liste += f"{nom}, "
  92.             i += 1
  93.         print(f"Il reste en jeu {liste}")
  94.         boucle_jeu(nom_j, len(nom_j) * allumettes_par_joueur)
  95.     print(f"{nom_j[0]} est le grand gagnant")
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top