-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpendu.py
More file actions
87 lines (67 loc) · 3.01 KB
/
Copy pathpendu.py
File metadata and controls
87 lines (67 loc) · 3.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
import os
# On demande à l'utilisateur un mot
motADeviner = input("Veuillez saisir le mot qui devra être deviné par le joueur :")
longueurMot = len(motADeviner)
victoire = True
lettresDejaSaisies = list()
# On s'assure que le mot fait au moins 4 caractères
if longueurMot < 4:
print("Attention, le mot que vous avez entré est trop cout. La longueur minimale est de 4 caractères")
else:
hardMode = input("Voulez-vous cacher la première et la dernière lettre du mot afin d'augmenter la difficulté ? [o;n]")
# Si le mot est valide on clear la console pour que le deuxième joueur
# ne puisse pas voir le mot à deviner. Fonction sur linux et windows
os.system('cls' if os.name == 'nt' else 'clear')
premiereLettre = motADeviner[0]
derniereLettre = motADeviner[longueurMot - 1]
# Etant donné que la première et la dernière lettre du mot vont être
# directement lisible la taille du mot à deviner est réduite
if hardMode != 'o':
debut = 1
fin = longueurMot - 1
restantATrouver = longueurMot - 2
else:
debut = 0
fin = longueurMot
restantATrouver = longueurMot
# Création du masque par concaténation
if hardMode != 'o':
motEnCours = premiereLettre
else:
motEnCours = '-'
for i in range(1, longueurMot - 1):
motEnCours += '-'
if hardMode != 'o':
motEnCours += derniereLettre
else:
motEnCours += '-'
mauvaisesReponses = 0
nombreDeChances = 5
print("Pour trouver ce mot vous avez en tout " + str(nombreDeChances) + " chances.")
while restantATrouver != 0 and mauvaisesReponses < nombreDeChances:
lettrePropose = input("Proposez une lettre : " + motEnCours + "\n")
if lettresDejaSaisies.count(lettrePropose) > 0:
print("Vous avez déjà saisi les lettres suivantes : " + str(lettresDejaSaisies))
else:
lettresDejaSaisies.append(lettrePropose)
lettreTrouvee = 0
Trouve = False
# On cherche la lettrePropose dans le mot
for j in range(debut, fin):
if motADeviner[j] == lettrePropose:
print("Bravo, vous avez trouvé une lettre ! \n")
lettreTrouvee += 1
restantATrouver -= 1
motEnCours = motEnCours[:j] + lettrePropose + motEnCours[j + 1:]
Trouve = True
if not Trouve:
mauvaisesReponses += 1
chancesRestantes = nombreDeChances - mauvaisesReponses
if chancesRestantes > 0:
print("Ah, non! Attention il ne vous reste plus que " + str(chancesRestantes) + " chances!\n")
else:
print("Vous avez perdu ! Le mot était \"" + motADeviner + "\"")
victoire = False
if victoire:
print("Bravo, vous avez trouvé le mot ! Le mot était \"" + motADeviner + "\"")
input("Veuillez taper sur une touche pour quitter.")