Estou fazendo um trabalho onde eu tenho que fazer um jogo da forca, no qual a palavra tem que ser retirada de um arquivo
e o usuário pode pedir dicas desse arquivo, porém eu nem cheguei na parte das dicas meu programa entra em loop infinito
na parte em que em tese eu deveria digitar as letras da palavra, que deveriam vir do arquivo, eu não estou conseguindo resolver esse loop
se alguém puder me ajudar agradeceria muito.
programa
{
inclua biblioteca Texto --> txt
inclua biblioteca Util --> ut
inclua biblioteca Arquivos --> arq
funcao inicio()
{
jogo()
}
}
funcao jogo()
{
inteiro indice, auxiliar, tamanho
cadeia entrada
cadeia linha, letra,formar_palavra[100]
logico acertou, repetiu
inteiro acertos,erros
inteiro arquivo = arq.abrir_arquivo("./jogo.txt", arq.MODO_LEITURA)
linha = arq.ler_linha(arquivo)
tamanho = ut.numero_elementos(formar_palavra)
acertos = tamanho
erros = 6
para(arquivo = 0; arquivo < tamanho; arquivo++)
{
formar_palavra[arquivo]= "_"
}
enquanto(acertos > 0 e erros >0)
escreva("\nDigite Uma Letra","\nSuas tentativas restantes são:",erros)
para(arquivo = 0; arquivo < tamanho; arquivo++)
{
escreva(formar_palavra[arquivo])
}
escreva(" :")
leia(letra)
acertou = falso
repetiu = falso
para(arquivo = 0; arquivo < tamanho; arquivo++)
{
se(letra == formar_palavra[arquivo])
{
se(formar_palavra[arquivo] == letra)
{
repetiu = verdadeiro
}
acertou = verdadeiro
formar_palavra[arquivo] = letra
acertos--
}
}
se(repetiu == verdadeiro)
{
escreva("\nVocê ja digitou essa letra\n\n")
}
senao se(acertou == verdadeiro)
{
escreva("\nVocê acertou continue !!!\n\n")
}
senao
{
erros--
escreva("\nVocê errou tente novamente\n\n")
}
se(acertos == 0)
{
escreva("\nParabéns você acertou a palavra '-' ")
para(arquivo = 0; arquivo < tamanho; arquivo++)
{
escreva(formar_palavra[arquivo])
}
}
se(erros == 0)
{
escreva("\nQue pena não foi dessa vez tente a sorte novamente\n\n")
}
arq.fechar_arquivo(arquivo)
}
}