-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgioco_impiccato.py
123 lines (102 loc) · 3.83 KB
/
gioco_impiccato.py
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
import random
def parola_casuale():
parole = ["cane", "gatto", "casa", "albero", "fuoco", "mare", "cielo", "terra", "sole", "luna", "eccentricità", "secchio", "psicopatia","ellisse"]
return random.choice(parole)
def nascondi_parola(parola):
parola_nascosta = ""
for lettera in parola:
parola_nascosta += "*"
return parola_nascosta
def gioco_impiccato():
# Genera una parola casuale
parola = parola_casuale()
# Nasconde la parola con asterischi
parola_nascosta = nascondi_parola(parola)
# Imposta il numero di vite
vite = 5
# Ciclo di gioco
while vite > 0 and parola_nascosta != parola:
# Stampa la parola nascosta
print(parola_nascosta)
# Chiede una lettera all'utente
lettera = input("Inserisci una lettera: ")
# Controlla se la lettera è presente nella parola
if lettera in parola:
# Sostituisce gli asterischi con la lettera
for i in range(len(parola)):
if parola[i] == lettera:
parola_nascosta = parola_nascosta[:i] + lettera + parola_nascosta[i+1:]
else:
# Rimuove una vita
vite -= 1
print("Lettera errata! Vite rimaste:", vite)
# Stampa il risultato
if vite > 0:
print("Hai vinto! La parola era:", parola)
else:
print("Hai perso! La parola era:", parola)
def raddoppia_consonanti(stringa):
nuova_stringa = ""
vocali = "aàèéeiòoùu"
for i, char in enumerate(stringa):
if char in vocali:
nuova_stringa += char
else:
nuova_stringa += char * 2
if i == len(stringa) // 2:
nuova_stringa += "o"
return nuova_stringa
def parola_casuale_difficile():
parole_difficili = ["python", "programmazione", "intelligenza", "algoritmo", "apprendimento", "sviluppatore", "intelligenza_artificiale", "datascience", "machinelearning", "deeplearning", "neurale", "intelligenza_umana", "complessità"]
# Scegli una parola casuale difficoltà
parola_difficile = random.choice(parole_difficili)
# Applica la funzione raddoppia_consonanti alla parola scelta
parola_difficile_modificata = raddoppia_consonanti(parola_difficile)
return parola_difficile_modificata
def gioco_impiccato_difficile():
# Genera una parola casuale
parola = parola_casuale_difficile()
# Nasconde la parola con consonanti raddoppiate e 'o' nel mezzo
parola_nascosta = nascondi_parola(parola)
# Imposta il numero di vite
vite = 3
# Lista di lettere già usate
lettere_usate = []
# Ciclo di gioco
while vite > 0 and parola_nascosta != parola:
# Stampa la parola nascosta
print(parola_nascosta)
# Chiede una lettera all'utente
lettera = input("Inserisci una lettera: ")
# Controlla se la lettera è già stata usata
if lettera in lettere_usate:
print("Lettera già usata!")
continue
# Aggiunge la lettera alle lettere usate
lettere_usate.append(lettera)
# Controlla se la lettera è presente nella parola
if lettera in parola:
# Sostituisce gli asterischi con la lettera
for i in range(len(parola)):
if parola[i] == lettera:
parola_nascosta = parola_nascosta[:i] + lettera + parola_nascosta[i+1:]
else:
# Rimuove una vita
vite -= 1
print("Lettera errata! Vite rimaste:", vite)
# Stampa il risultato
if vite > 0:
print("Hai vinto! La parola era:", parola)
else:
print("Hai perso! La parola era:", parola)
#menù
print("\n Benvenuto nel gioco dell'impiccato! \n")
selezione = input("\n Iniziamo!! Seleziona 1 per gioco semplice, 2 per gioco difficile, 3 per uscire \n")
if selezione == "1":
gioco_impiccato()
elif selezione == "2":
gioco_impiccato_difficile()
elif selezione == "3":
exit()
else:
print("Scelta non valida!")