-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.py
116 lines (110 loc) · 3.86 KB
/
main.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
import os
import api
choosen = api.getData() # palavra escolhida
stay='s' # permanecer no programa
gibbet=[] # forca
attempt = 0 # tentativas
hangman = [
[' ',' ',''],
[' ',' ',' '],
[' ',' ',''],
[' ',' ',' '],
] # enforcado
used = [] # tentativas
word='' # letra inserida pelo usuário
# Coloca um "-" para c/ caractere
for term in choosen:
gibbet.append('-')
# ----------------------------------
# Função que reseta o programa para uma nova partida
def reset():
global choosen
global gibbet
global attempt
global hangman
global used
choosen = api.getData() # palavra escolhida
gibbet=[] # forca
attempt = 0 # tentativas
hangman = [
[' ','',''],
[' ',' ',' '],
[' ',' ',''],
[' ',' ',' '],
] # enforcado
used = [] # tentativas
# Coloca um "-" para c/ caractere
for term in choosen:
gibbet.append('-')
# ----------------------------------
# Cria a forca e os dashs
def screen():
global hangman
print(' ________\n'+
'| |\n'+
'| '+hangman[0][1]+'\n'+
'| '+hangman[1][0]+hangman[1][1]+hangman[1][2]+'\n'
'| '+hangman[2][1]+'\n'+
'| '+hangman[3][0]+' '+hangman[3][2]+'\n'+
'|'
)
# Como a Forca(gibbet) é uma lista para exibir é meio "méh", então ela é atribuida a uma var
# e removido os caracteres indesejados e caso esteja se perguntando.. "Sim, é uma gambiarra!"
dashs=str(gibbet)
dashs = dashs.replace('[','')
dashs = dashs.replace(']','')
dashs = dashs.replace('\'','')
dashs = dashs.replace(',','')
print('\\'+dashs)
# Loop responsável por toda a execução do programa
while stay=='s' or stay=='S':
# Se não tiver nenhum '-' quer dizer que a palavra está completa
if '-' not in gibbet:
print("\nSalvou o Jequetibas, boa!\n")
stay=input("\n----------------\nPalavra:"+str(choosen)+"\n----------------\nDeseja jogar novamente?[s/n]: ")
reset()
elif attempt==7:
print("\n----------------\nPalavra:"+str(choosen)+"\n----------------\n\nNãããooo Jequetibas!\nCaixão Lacrado!\n")
stay=input('Deseja jogar novamente?[s/n]: ')
reset()
else:
# se faltar algum caractere ele monta a tela e solicita a letra
screen()
print("Letras já usadas: "+str(used))
word=input('Digite uma letra:')
if len(word)>1:
# Limpa a tela se for no Win
os.system('cls') or None
print("\n--------------------\nÉ uma letra só Tião!\n----------------\n")
else:
used.append(word) # lista todas as letras já inseridas
# se a letra não se encontrar na palavra escolhida ele registra a tentativa e
# adiciona uma parte do Jequitibas
if word not in choosen:
attempt=attempt+1
if(attempt==1):
hangman[0][1]='O'
elif(attempt==2):
hangman[1][0]='/'
elif(attempt==3):
hangman[1][1]='|'
elif(attempt==4):
hangman[1][2]='\\'
elif(attempt==5):
hangman[2][1]='|'
elif(attempt==6):
hangman[3][0]='/'
elif(attempt==7):
hangman[3][2]='\\'
# Limpa a tela se for no Win
os.system('cls') or None
else:
i=0 # para calcular a posição
for term in choosen:
# se algum termo for igual a letra digitada pelo usuário, ele altera o "dash" para a letra
if term==word:
gibbet[i] = term
i=i+1
i=0
# Limpa a tela se for no Win
os.system('cls') or None