Advertisement
andre373

Programa em python - Jogo da forca!

Sep 10th, 2016
870
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.94 KB | None | 0 0
  1. # Programa feito em python 3.5
  2. # Criado por: André Luis
  3. # Simula o clássico jogo da forca, com intuito de exercitar a mente e melhorar a minha lógica. O código não é um dos         # melhores, mas irei melhorar e postarei aqui.
  4. # Estarei editando para impossibilitar o usuário de digitar números e espaço vazio.
  5. # Qualquer critica é bem vinda.
  6. ############################################################################################################################
  7.  
  8. import random
  9. erros=0
  10. acertos=[]
  11. digitadas=[]
  12.  
  13. def main():
  14.     print("="*39)
  15.     print("="*12, "Jogo da Forca", "="*12)
  16.     print("="*39)
  17.     embaralha()
  18.     opcao()
  19.     print("="*39)
  20.  
  21. def imprimir():
  22.     print("Palavra Chave -> %s"%senha)
  23.     print("Você errou %d vezes"%erros)
  24.     print("Letras digitadas")
  25.     for x in digitadas:
  26.         print(x, end="|")
  27.     print()
  28.  
  29. def embaralha():
  30.     global palavras, secreta, senha
  31.     palavras =["casa", "carro", "loja","analfabeto","reflexao","interrupcao","necessarios","ambulantes","humanidade",
  32.     "juventude","shopping","supermercado","proporcionar","sensatez","incidente","governo","flexibilidade"]
  33.     random.shuffle(palavras)
  34.     senha = palavras[0]
  35.     secreta =[]
  36.     x = 0
  37.     while x < len(senha):
  38.         secreta.append("_")
  39.         x+=1
  40.     for x in secreta:
  41.         print(x, end=" ")
  42.     print()
  43.  
  44. def opcao():
  45.     global letra
  46.     while True:
  47.         letra = input("Digite uma letra ou (0) para sair: ")
  48.         print("="*39)
  49.         while len(letra) != 1 :
  50.             print("Digite apenas uma letra!")
  51.             letra = input("Digite uma letra ou (0) para sair: ")
  52.             print("="*39)
  53.  
  54.         while letra in digitadas:
  55.             print("Letra repetida")
  56.             letra = input("Digite outra letra ou (0) para sair: ")
  57.             print("="*39)
  58.         if letra == "0":
  59.             break
  60.         else:
  61.             analisa()
  62.         if erros == 7:
  63.             break
  64.         elif len(acertos) == len(senha):
  65.             print("Parabéns Você venceu")
  66.             break
  67.  
  68. def boneco():
  69.     while True:
  70.         print("Você errou %s vez(es)"%erros)
  71.         if erros == 1:
  72.             print("|")
  73.             break
  74.         elif erros == 2:
  75.             print("|\n|")
  76.             break
  77.         elif erros == 3:
  78.             print("/| \n | ")
  79.             break
  80.         elif erros == 4:
  81.             print("/|\ \n |")
  82.             break
  83.         elif erros == 5:
  84.             print("/|\ \n |\n/")
  85.             break
  86.         elif erros == 6:
  87.             print("/|\ \n |\n/ \ ")
  88.             break
  89.         else:
  90.             print("Enforcado, Você perdeu!")
  91.             print(" O\n/|\ \n |\n/ \ ")
  92.             break
  93.  
  94. def analisa():
  95.     global erros, digitadas, acertos
  96.     while True:
  97.         if letra in senha:
  98.             digitadas.append(letra)
  99.             p = 0
  100.             while p > -1:
  101.                 p = senha.find(letra,p)
  102.                 if p >=0:
  103.                     secreta[p] = letra
  104.                     acertos.append(letra)
  105.                     p+=1
  106.             for x in secreta:
  107.                 print(x, end=" ")
  108.             print()
  109.             print("Você acertou",len(acertos),"de",len(senha),"letras!")
  110.             print("Digitadas!")
  111.             print("="*39)
  112.             for c in digitadas:
  113.                 print(c, end="|")
  114.             print()
  115.             break
  116.         else:
  117.             digitadas.append(letra)
  118.             print("Digitadas!")
  119.             print("="*39)
  120.             for c in digitadas:
  121.                 print(c, end="|")
  122.             print()
  123.             erros+=1
  124.             boneco()
  125.             break
  126.  
  127.  
  128.  
  129. main()
  130. imprimir()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement