Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random, time
- """Jeu des allumettes
- 10 allumettes
- chaque joueur peut enlever 1 à 3 allumettes
- Je joueur qui prends la dernière allumette perds"""
- allumettes_par_joueur = 5
- nom_j = []
- """Initialisation des joueurs"""
- while True:
- if nom_j == []:
- i = 1
- print("Yadiho ! les copains ! Rentrez les noms des joueurs. Si vous voulez ajouter un bot, tapez \"bot\" en nom de joueur !")
- nom = input(f"Quel est le nom du joueur {i} ? : ")
- i += 1
- """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 !"""
- if nom == "":
- i = len(nom_j)
- if len(nom_j) == 1:
- print(f"Dis donc {nom_j[0]}, elle va être passionnante comme partie...\nSi ca te fait plaisir, c'est parti !")
- else :
- print(f"C'est parti pour une partie à {i} joueurs") if len(nom_j) != 0 else print
- break
- nom_j.append(nom)
- """Boucle principale du jeu"""
- def boucle_jeu(joueurs, nb_allumette):
- while True:
- """Fais jouer tous les joueur de la liste au moins une fois"""
- for joueur in joueurs:
- """Un petit affichage des allumettes avant de jouer"""
- allumettes_affichage = '['
- for i in range(nb_allumette):
- allumettes_affichage += "i"
- allumettes_affichage += ']'
- print(allumettes_affichage)
- """Si c'est un bot, on le fait jouer"""
- if joueur == "bot":
- allumettes_jouees = str(random.randint(1,3))
- print(f"{joueur} joue, bip boop, bip bip. {joueur} réflechis")
- """On simule la reflexion entre une demi seconde et 5 secondes"""
- time.sleep(float(random.randint(50, 500))/100)
- print(f"{joueur} enlève {allumettes_jouees} allumettes !")
- else:
- """Si c'est un joueur, il joue"""
- allumettes_jouees = input(f"{joueur}, combien d'allumettes souhaites tu retirer ? (1-3) : ")
- """Vérification des données entrées"""
- if not allumettes_jouees.isdigit():
- allumettes_jouees = random.randint(1,3)
- print(f"Bon, {joueur}, les chiffres à droite de la demande, c'est les valeurs que tu a le doit de rentrer.")
- print(f"Pour la peine, je fais tirer un nombre d'allumettes aléatoire... Disoooooons... {allumettes_jouees} !")
- elif int(allumettes_jouees) > 3:
- allumettes_jouees = 3
- print(f"Mes excuses {joueur} mais tu as saisi plus d'allumettes qu'autorisé, donc je considère que tu souhaite enlever {allumettes_jouees}!")
- elif int(allumettes_jouees) < 1:
- allumettes_jouees = 1
- print(f"Mes excuses {joueur} mais tu as saisi moins d'allumettes qu'autorisé, donc je considère que tu souhaite enlever {allumettes_jouees}")
- nb_allumette -= int(allumettes_jouees)
- """Si la condition de défaite est remplie"""
- if nb_allumette <= 0:
- print(f"{joueur} a perdu")
- joueurs.remove(joueur)
- """Si il reste des joueurs, on prévient de la manche suivante"""
- if len(nom_j) > 1:
- print(f"Et c'est parti pour la manche suivante !\n Il nous reste {len(nom_j)} joueurs ")
- """On quitte la fonction de jeu à la fin de la manche"""
- return 0
- """Sinon, On affiche les allumettes restantes"""
- print(f"Il reste {nb_allumette} allumettes !")
- """Si il n'y a pas de joueur, on previent que non, on peut pas jouer sans joueurs"""
- if len(nom_j) == 0:
- print("Alors, c'est un concept interessant, mais pour jouer, il faut des joueurs.")
- else:
- """Sinon on lance des manches en boucle tant qu'il y a plus d'un joueur"""
- while len(nom_j) > 1:
- """On mélange l'ordre de passage des joueurs'"""
- random.shuffle(nom_j)
- """On affiche et formatte la liste des joueurs"""
- liste = ''
- i = 0
- for nom in nom_j:
- if i == len(nom_j)-1:
- """Si c'est le dernier nom, on vire la virgule et l'espace et on l'ajoute à la fin de la chaine de catacteres"""
- liste += f"{nom}"
- elif i == len(nom_j)-2:
- """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"""
- liste += f"{nom} et "
- else:
- """Sinon on ajoute le noms, suivi d'une virgule et d'un espace"""
- liste += f"{nom}, "
- i += 1
- print(f"Il reste en jeu {liste}")
- boucle_jeu(nom_j, len(nom_j) * allumettes_par_joueur)
- print(f"{nom_j[0]} est le grand gagnant")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement