Advertisement
Guest User

Untitled

a guest
Sep 19th, 2019
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.83 KB | None | 0 0
  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")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement