Informática, perguntado por DeltaX, 1 ano atrás

Alguém poderia me explicar como faço esse algoritmo no Visualg, segue o enunciado.
OBS: Sou iniciante em lógica d programação, preciso utilizar vetores, gostaria de uma resposta com print.

------>Faça um jogo da forca utilizando vetores. A palavra poderá ser definida pelo próprio programador dentro do programa e não é necessário existir um número limite de tentativas. Porém, é necessário que se exiba a palavra em cada etapa com as letras descobertas e as letras não descobertas sendo representadas com _.

Soluções para a tarefa

Respondido por bokomoko
3
primeiro crie um grande vetor de string/caracteres com várias palavras, algo assim

palavra[1] = "abobora"
palavra[2] = "sinistro"
palavra[3] = "deputado"
palavra[4] = "rodovia"

Esta será a lista de palavras a serem descobertas. Crie o máximo que puder e certifique-se que não tem a mesma palavra duas vezes.

Em seguida faça um loop onde você testa se o usuário quer jogar 

dentro desse loop, randomize um número entre 1 e o número de palavras que você carregou. Esse vai ser o sorteio da palavra que o jogador vai tentar advinhar

inicie um vetor vazio que vai conter as letras que o jogador já tentou. Ele começa vazio.

faça outro loop dentro desse loop em que está 
     peça ao usuário uma letra
     teste se a letra digitada é uma letra especial que termina o jogo e sai do loop 
     teste se a letra digitada já está na lista de letras tentadas. Se nao estiver, prossiga abaixo
             adicione a letra ao vetor de letras usadas
             busque  na palavra sorteada  a letra que o jogador informou
                  para cada vez que encontrar a letra, informe o usuário onde a                         encontrou e a exiba na posição adequada
             teste se todas as letras da palavra já foram encontradas. Se achou,                      congratule o jogador e saia do loop
     senao do teste da letra digitada
               dë uma bronca no jogador e peça para ele teclar outra letra


Observe, essa é uma explicação genérica. Não é o algoritmo propriamente dito. Estou tentando dar a dica para você mesmo fazer o algoritmo> Se eu fizer o algoritmo, você não terá aprendido coisa alguma

Tente e se tiver dificuldade me avise.


bokomoko: escolha um caracter qualquer para determinar o fim, por exemplo "tecle # para terminar" e aí você testa se a tecla digitada é igual a "#"
DeltaX: ok vou tentar
DeltaX: consegui essa parte, mas estou em dúvida de como eu faço para testar de a letra digitada pertence a palavra, eu teria q fazer um comando SE para todas letras do alfabeto?
bokomoko: nao. você pode testar por intervalo
bokomoko: letra >= "A" e letra <= "Z"
DeltaX: ok consegui
DeltaX: esse vetor de letras usadas q começa vazio, o tanto de posições dele é difinido pela quantidade de letras na maior palavra que poderá ser sorteada?
bokomoko: exatamente !!!
bokomoko: Excelente dedução. Continue o bom trabalho
DeltaX: :) ok obrigado
Perguntas interessantes