예제 #1
0
def pesquisar_palavra(pesquisa):
  util.clear()
  temas = util.carregar_temas()
  resultados = []
  for tema in temas:
    palavras = util.carregar_palavras(tema)
    for palavra in palavras:
      if pesquisa.upper() in palavra.upper():
        resultados.append('%s - %s'%(palavra, tema))
  
  util.cabecalho('Resultados da Pesquisa', historico)

  if len(resultados) == 0:
    print('NÃO HÁ RESULTADOS!')
  else:
    for palavra in range(len(resultados)):
      print('%d - %s'%(palavra+1, resultados[palavra]))
  
  print()
  print()
  if not len(resultados) == 0:
    print('1 - Editar Palavra')
    print('2 - Apagar Palavra')
  print('3 - Voltar')

  opcao = input('Opção: ')
  while not util.eh_inteiro(opcao):
    print('INSIRA UM NÚMERO!')
    opcao = input('Opção: ')

  while len(resultados) == 0 and opcao == '1' or len(resultados) == 0 and opcao == '2':
    print('NÃO HÁ NENHUMA PALAVRA!')
    opcao = input('Opção: ')
    while not util.eh_inteiro(opcao):
      print('INSIRA UM NÚMERO!')
      opcao = input('Opção: ')

  
  while opcao != '1' and opcao != '2' and opcao != '3':
    print('INSIRA UMA OPÇÃO VÁLIDA!')
    opcao = input('Opção: ')
    while not util.eh_inteiro(opcao):
      print('INSIRA UM NÚMERO!')
      opcao = input('Opção: ')

  if opcao == '1':
    numero_palavra = input('Digite o numero da palavra para editar: ')
    while not util.eh_inteiro(numero_palavra):
      print('INSIRA UM NUMERO!')
      numero_palavra = input('Digite o numero da palavra para editar: ')
    
    while not (int(numero_palavra) in range(1, len(resultados)+1)):
      print('NÚMERO INVÁLIDO!')
      numero_palavra = input('Digite o numero da palavra para editar: ')
      while not util.eh_inteiro(numero_palavra):
        print('INSIRA UM NUMERO!')
        numero_palavra = input('Digite o numero da palavra para editar: ')
    palavra = resultados[int(numero_palavra)-1].split(' - ')
    opcao_editar_palavra(palavra[0], palavra[1], pesquisa)
예제 #2
0
def inicio():
  util.clear()
  Temas_existentes = util.carregar_temas()
  util.cabecalho('Bem-vindo ao jogo da forca', [''])

  print('Escolha o nível de jogo:')
  print('1 - Fácil')
  print('2 - Médio')
  print('3 - Difícil')
  
  escolha_de_dificuldade = input('Opção: ')
  numero_de_chances = 0
  perda_de_pontos = 0

  while escolha_de_dificuldade != '1' and escolha_de_dificuldade != '2' and escolha_de_dificuldade != '3':
          print('Opção inválida')
          escolha_de_dificuldade = int(input())
  util.clear()



  if escolha_de_dificuldade == '1':
        numero_de_chances = 8
        perda_de_pontos = 750
  elif escolha_de_dificuldade == '2':
        numero_de_chances = 5
        perda_de_pontos = 1200
  elif escolha_de_dificuldade == '3':
        numero_de_chances = 3
        perda_de_pontos = 2000
  util.cabecalho('Bem-vindo ao jogo da forca', [''])
  print('Escolha um tema: ')
  print()
  for tema in range(len(Temas_existentes)):
    print('%d - %s'%(tema+1, Temas_existentes[tema]))

  numero_tema = input('Numero do tema: ')
  while not util.eh_inteiro(numero_tema):
    print('INSIRA UM NÚMERO!')
    numero_tema = input('Numero do tema: ')
  
  while not (int(numero_tema) in range(1, len(Temas_existentes)+1)):
    print('INSIRA UM NÚMERO VALIDO!')
    numero_tema = input('Numero do tema: ')
  while not util.eh_inteiro(numero_tema):
    print('INSIRA UM NÚMERO!')
    numero_tema = input('Numero do tema: ')
  
  
  nome_tema = Temas_existentes[int(numero_tema) - 1]
  palavras = util.carregar_palavras(nome_tema)
  palavra_secreta = choice(palavras)
  jogo(palavra_secreta, numero_de_chances, perda_de_pontos)
예제 #3
0
def exibir_ranking():
  util.clear()
  ranking = util.carregar_ranking()
  util.cabecalho('Ranking', [''])
  for linha in ranking:
    print('%s'%(linha))
  
  print()
  print('1 - Jogar Novamente')
  opcao = input('Opção: ')
  while opcao != '1':
    print('OPCÃO INVÁLIDA!')
    opcao = input('Opção: ')
  if opcao == '1':
    inicio()
예제 #4
0
def main():
    util.clear()
    util.cabecalho('Bem-vindo ao jogo da forca', [''])
    print('1 - Administração do jogo')
    print('2 - Jogar')
    print('3 - Sair')
    opcao = input('Opção: ')
    while opcao != '1' and opcao != '2' and opcao != '3':
        print('OPÇÃO INVÁLIDA')
        opcao = input('Opção: ')

    if opcao == '1':
        admin.options()

    if opcao == '2':
        jogo.inicio()

    if opcao == '3':
        util.clear()
        print('Até mais!')
예제 #5
0
def options():
  util.clear()
  util.cabecalho(titulo, historico)
  print('----Opções----')
  print('1 - Listar temas')
  print('2 - Pesquisar Temas')
  print('3 - Pesquisar Palavra')
  print('4 - Voltar')

  opcao = input('Opção: ')
  while opcao != '1' and opcao != '2' and opcao != '3' and opcao != '4':
      print('OPÇÃO INVÁLIDA')
      opcao = input('Opção: ')

  if opcao == '1':
    historico.append('Temas')
    listar_temas()
  
  if opcao == '2':
    temas = util.carregar_temas()
    pesquisa = input('Nome do tema a pesquisar: ')
    resultados = []
    

    for palavra in temas:
      if palavra.upper().find(pesquisa.upper()) >= 0:
            resultados.append(palavra)
    
    historico.append('Resultados da Pesquisa')
    resultado_pesquisa_tema(resultados)

  if opcao == '3':
    pesquisa = input('Palavra para pesquisar:')
    historico.append('Pesquisar Palavra')
    pesquisar_palavra(pesquisa)
    
  
  if opcao == '4':
    historico.pop()
    import main
    main.main()
예제 #6
0
def resultado_pesquisa_tema(resultados):
  util.clear()
  util.cabecalho('Pesquisa de temas', historico)
  
  if len(resultados) == 0:
    print('NÃO HÁ RESULTADOS!')
  else:
    for i in range(len(resultados)):
      print('%d - %s'%(i+1, resultados[i]))
    
  
  print()
  print()
  print('----Opções----')
  if not len(resultados) == 0:
    print('1 - Ver palavras de um tema')
    print('2 - Editar nome do tema')
    print('3 - Apagar tema')
  print('4 - Voltar')
  opcao = input('Opção: ')
  if opcao != '1' and opcao != '2' and opcao != '3' and opcao != '4':
    print('INSIRA UMA OPÇÃO VÁLIDA!')
    opcao = input('Opção: ')
  while len(resultados) == 0 and opcao == '1' or len(resultados) == 0 and opcao == '2' or len(resultados) == 0 and opcao == '3':
    print('NÃO HÁ NENHUM TEMA!')
    opcao = input('Opção: ')
  if opcao == '1':
    opcao_listar_palavras(resultados, origem='pesquisa')
  
  if opcao == '2':
    opcao_editar_nome_tema(resultados)
    resultado_pesquisa_tema(resultados)
  
  if opcao == '3':
    opcao_apagar_tema(resultados)
    resultado_pesquisa_tema(resultados)
  
  if opcao == '4':
    historico.pop()
    options()
예제 #7
0
def listar_palavras(tema, origem='listagem'): 
  palavras = util.carregar_palavras(tema)
  util.clear()
  
  util.cabecalho(titulo, historico)

  if len(palavras) == 0:
    print('NÃO HÁ PALAVRAS CADASTRADAS NESTE TEMA')
  else:
    for count in range(len(palavras)):
        print('%d - %s'%(count+1, palavras[count]))

  
  print()
  print()
  print('----Opções----')
  print('1 - Adicionar Palavra')
  if not len(palavras) == 0:
    print('2 - Editar Palavra')
    print('3 - Apagar Palavra')
  print('4 - Voltar')

  

  opcao = input('Opção: ')

  while len(palavras) == 0 and opcao == '2' or len(palavras) == 0 and opcao == '3':
    print('NÃO HÁ NENHUMA PALAVRA!')
    opcao = input('Opção: ')
  
  while not (opcao != '1' or opcao != '2' or opcao != '3' or opcao != '4'):
    print('OPÇÃO INVÁLIDA!')
    opcao = int(input('Opção: '))
  
  if opcao == '1':
    nova_palavra  = input('Nova palavra: ')
    palavras.append(nova_palavra)
    arquivo_tema = util.carregar_arquivo('./arquivos/'+tema+'.txt', 'a')
    arquivo_tema.write(nova_palavra+'\n')
    arquivo_tema.close()
    listar_palavras(tema)
  
  if opcao == '2':
    palavra_selecionada = input('Digite o número da palavra a ser editada: ')
    while not util.eh_inteiro(palavra_selecionada):
      print('INSIRA UM NUḾERO!')
      palavra_selecionada = input('Digite o número da palavra a ser editada: ')
    while not (int(palavra_selecionada) in range(1, len(palavras) + 1)):
      print('OPÇÃO INVÁLIDA!')
      palavra_selecionada = int(input('Digite o número da palavra a ser editada: '))
      while not util.eh_inteiro(palavra_selecionada):
        print('INSIRA UM NUḾERO!')
        palavra_selecionada = input('Digite o número da palavra a ser editada: ')
    palavras[int(palavra_selecionada) - 1] = input('Nova palavra: ')
    arquivo_tema = util.carregar_arquivo('./arquivos/'+tema+'.txt', 'w')
    for palavra in palavras:
      arquivo_tema.write(palavra+'\n')
    arquivo_tema.close()
    listar_palavras(tema)
  if opcao == '3':
    palavra_selecionada = input('Digite o número da palavra a ser apagada: ')
    while not util.eh_inteiro(palavra_selecionada):
      print('INSIRA UM NÚMERO!')
      palavra_selecionada = input('Digite o número da palavra a ser apagada: ')
    while not (int(palavra_selecionada) in range(1, len(palavras) + 1)):
      print('OPÇÃO INVÁLIDA!')
      palavra_selecionada = input('Digite o número da palavra a ser apagada: ')
      while not util.eh_inteiro(palavra_selecionada):
        print('INSIRA UM NÚMERO!')
        palavra_selecionada = input('Palavra a ser apagada: ')
    del palavras[int(palavra_selecionada) - 1]
    for palavra in palavras:
      arquivo_tema.write(palavra+'\n')
    
    arquivo_tema = util.carregar_arquivo('./arquivos/'+tema+'.txt', 'w')
    arquivo_tema.close()
    listar_palavras(tema)
  
  if opcao == '4':
    historico.pop()
    if origem == 'listagem':
      listar_temas()
    else:
      historico.pop()
      options()
예제 #8
0
def listar_temas():
  util.clear()
  temas = util.carregar_temas()
  util.cabecalho(titulo, historico)
  if len(temas) == 0:
    print('NENHUM TEMA CADASTRADO!')
  else:
    for tema in range(len(temas)):
      print('%d - %s'%(tema+1, temas[tema]))
  
  print()
  print()
  print('----Opções----')
  if not len(temas) == 0:
    print('1 - Ver palavras de um tema')
    print('2 - Editar nome do tema')
    
    print('4 - Apagar tema')
  print('3 - Criar tema')
  print('5 - Voltar')
  opcao = input('Opção: ')
  while len(temas) == 0 and opcao == '1' or len(temas) == 0 and opcao == '2' or len(temas) == 0 and opcao == '4':
    print('NÃO HÁ NENHUM TEMA!')
    opcao = input('Opção: ')
  while opcao != '1' and opcao != '2' and opcao != '3' and opcao != '4' and opcao != '5':
    print('OPÇÃO INVÁLIDA')
    opcao = input('Opção: ')
  
  while len(temas) == 0 and opcao == '1' or len(temas) == 0 and opcao == '2' or len(temas) == 0 and opcao == '4':
    print('NÃO HÁ NENHUM TEMA!')
    opcao = input('Opção: ')

  if opcao == '1':
    opcao_listar_palavras(temas)
  
  if opcao == '2':
    opcao_editar_nome_tema(temas)
    listar_temas()
  
  if opcao == '3':
    nome = input('Nome do novo tema: ')
    teste = testar_tema(nome)
    while teste:
      print('Este tema já existe!')
      nome = input('Nome do novo tema: ')
      teste = testar_tema(nome)
    
    arquivo_tema = util.carregar_arquivo('./arquivos/temas.txt', 'a')
    arquivo_tema.write(nome+'\n')
    arquivo_tema.close()
    arquivo_tema = util.carregar_arquivo('./arquivos/'+nome+'.txt', 'w')
    arquivo_tema.close()
    historico.append(nome)
    temas.append(nome)
    listar_palavras(nome)

  if opcao == '4':
    opcao_apagar_tema(temas)
    listar_temas()
  
  if opcao == '5':
        historico.pop()
        options()
예제 #9
0
def jogo(palavra_secreta, numero_de_chances, perda_de_pontos):
  util.clear()
  pontuacao = 6000
  
  mascara = []
  for i in range(len(palavra_secreta)):
    mascara.append('-')
  
  

  acertou = False
  enforcou = False
  erros = 0
  tentativas_restantes = numero_de_chances
  while(not acertou and not enforcou):
    util.clear()
    util.cabecalho('jogo da forca', [''])
    print("Você tem %d tentetivas restantes!"%tentativas_restantes)
    print("Sua pontuação é %d"%pontuacao)
    for char in range(len(mascara)):
      print('%s'%(mascara[char]), end='')
    print()
    chute = input('Digite uma letra: ')
    while len(chute) > 1:
      print('INSIRA SOMENTE UMA LETRA!')
      chute = input('Digite uma letra: ')
    print()
    acertou = chute.upper() in palavra_secreta.upper()
    if acertou:
      for letra in range(len(palavra_secreta)):
        if (chute.upper() == palavra_secreta[letra].upper()):
          mascara[letra] = palavra_secreta[letra].upper()
      acertou = False
    else:
      print(" ".join(mascara))
      print('Letra não existente na palavra! :-(')
      erros += 1
      tentativas_restantes -= 1
      pontuacao -= perda_de_pontos
    acertou = '-' not in mascara
    enforcou = erros == numero_de_chances 
  
  
  if (acertou):
    util.clear()
    util.cabecalho('jogo da forca', [''])
    print("Sua pontuação é %d"%pontuacao)
    for char in range(len(mascara)):
      print('%s'%(mascara[char]), end='')
    print()
    print('Você ganhouuuuuuuuu!!!')
    jogador = input("Qual o seu nome? ")
    resultado = jogador +  ' - ' + str(pontuacao)
    util.cadastrar_ranking(resultado)
  elif (not acertou):
    print()
    print()
    print("|-----   ")
    print("|    |   ")
    print("|    O   ")
    print("|   /|\          Enforcado!!!")
    print("|    |   ")
    print("|   / \  ")
    print("==========")
    print()
    print('A palavra era: %s'%(palavra_secreta))

  print('1 - Exibir Ranking   2 - Jogar Novamente   3 - Sair')
  opcao = input('Opção: ')
  while opcao != '1' and opcao != '2' and opcao != '3':
    print('OPÇAO INVALIDA!')
    opcao = input('Opção: ')

  if opcao == '1':
    exibir_ranking()

  if opcao == '2':
    inicio()

  if opcao == '3':
    util.clear()
    print('Até mais!')