You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

173 lines
5.0 KiB

# Jeu de BombParty
import time
import random as rd
import os
'''
#Nettoyage
clearConsole = lambda: os.system('cls' if os.name in ('nt', 'dos') else 'clear')
clearConsole()
#On importe les mots
with open("mots.txt", "r",encoding="utf8") as motsfichier:
mots = motsfichier.readlines()
#On retire \n de notre liste de mots
for i in range(len(mots)):
mots[i]=mots[i].replace("\n","")
#On importe les syllabes
with open("syllabes.txt", "r",encoding="utf8") as syllabesfichier:
syllabes = syllabesfichier.readlines()
#On retire \n de notre liste de syllabes
for i in range(len(syllabes)):
syllabes[i]=syllabes[i].replace("\n","")
'''
'''
#Tirage au sort de la syllabe
def tirage_syllabe():
syllabe=rd.choice(syllabes)
return syllabe
'''
#Demander au joueur un mot
def demander_mot(syllabe_a_trouver):
mot=input(f'''Vous devez trouver un mot contenant la syllabe : {syllabe_a_trouver}
Votre proposition : ''')
return mot
'''
#Vérifier si la syllabe est bien dans le mot
def mots_et_syllabes_valable(syllabe_a_trouver,mot_du_joueur):
if syllabe_a_trouver in mot_du_joueur:
return True
else:
print("""
Ce mot ne possède pas la syllabe requise.""")
return False
'''
#Rechercher le mot dans notre base de données de mots, puis vérifier sa syllabe
'''
def comparer_mot(mot,syllabe_a_trouver):
if mot in mots:
return mots_et_syllabes_valable(syllabe_a_trouver,mot)
else:
print("""
Ce mot n'existe pas dans notre base de données.""")
return False
'''
# ---------------- Arthur ---------------------- #
#Détermination du nombre de joueurs
def demander_nb_joueurs():
resultat=input("""Combien de joueurs ?
Votre proposition : """)
return int(resultat)
#On vérifie si la valeur entrée fait parties du nombre de joueur compatible au jeu
'''
def check_bon_nb_joueurs(nb):
O=[1,2,3,4,5,6] # Nombre de joueurs possibles
if nb in O:
print("La partie se jouera donc avec",nb,"joueur(s)")
time.sleep(2)
return nb
else:
return check_bon_nb_joueurs(demander_nb_joueurs())
'''
#On demande le nombre de joueurs pour notre partie
#nbjoueurs=int(check_bon_nb_joueurs(demander_nb_joueurs))
#On crée nos variables de points nécéssaires à notre jeu
#Cette liste contiens nos points de joueurs. Chaque 1 correspond à un joueur. Joueur 2 = pj[0]
#pj=[0,1,1,1,1,1,1]
#A quel joueur est-ce le tour ?
#tour_du_joueur=0
#On change de tour
def tour_suivant(tour):
tour=tour+1
return tour
#Une partie est-elle en cours ?
partie_en_cours=1
#
# Le code du jeu
#
def jeu(tour_du_joueur,pj):
#clearConsole()
#print("Joueur",tour_du_joueur,", c'est votre tour !")
#print("--------------------------")
#syllabe_a_trouver=tirage_syllabe()
mot_du_joueur=demander_mot(syllabe_a_trouver)
if comparer_mot(mot_du_joueur,syllabe_a_trouver)==True:
print("")
print("Bravo, vous avez trouvé un mot !! Vous gagnez 1 point.")
pj=pj+1
print("")
print("Vous possèdez maintenant",pj,"points !")
print("---------------------------")
time.sleep(5)
return pj
print("")
print("Vous ne gagnez donc aucun point !")
print("-------------------------")
time.sleep(3)
return pj
#Script de notre partie de jeu
while partie_en_cours==1:
#Si tout le monde a fini de jouer, on retourne au joueur 1
if tour_du_joueur>nbjoueurs:
tour_du_joueur=1
#Si le jeu n'a toujours pas commencé, on commence par le joueur 1
elif tour_du_joueur==0:
print("Début de la partie !")
tour_du_joueur=1
if tour_du_joueur==1:
#C'est au joueur 1
print("")
pj[1] = jeu(tour_du_joueur,pj[1])
tour_du_joueur = tour_suivant(tour_du_joueur)
elif tour_du_joueur==2:
#C'est au joueur 2
print("")
pj[2] = jeu(tour_du_joueur,pj[2])
tour_du_joueur = tour_suivant(tour_du_joueur)
elif tour_du_joueur==3:
#C'est au joueur 3
print("")
pj[3] = jeu(tour_du_joueur,pj[3])
tour_du_joueur = tour_suivant(tour_du_joueur)
elif tour_du_joueur==4:
#C'est au joueur 4
print("")
pj[4] = jeu(tour_du_joueur,pj[4])
tour_du_joueur = tour_suivant(tour_du_joueur)
elif tour_du_joueur==5:
#C'est au joueur 5
print("")
pj[5] = jeu(tour_du_joueur,pj[5])
tour_du_joueur = tour_suivant(tour_du_joueur)
elif tour_du_joueur==6:
#C'est au joueur 6
print("")
pj[6] = jeu(tour_du_joueur,pj[6])
tour_du_joueur = tour_suivant(tour_du_joueur)
'''
Idée future :
- Contrairement au BombParty originel, il faut qu'on donne des points au joueurs, et non pas qu'on leur enlève des vies.
- En fonction du temps de réponse au mot, le joueur gagne plus ou moins de points
- Faire le système de récompenses par lettres sur le côté (comme le vrai)
- Faire un système de joker
- Faire un système de récompenses quand on a utilisé toutes les lettres
- Faire un joli countdown avec .......... pour les delays
'''