Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Charles Ramos

Jogo da forca visuALG - Colocar Função

Recommended Posts

Bom dia, estou com uma dificuldade em um algoritmo para um jogo da forca em VisuALG, o algoritmo foi solicitado para um trabalho e um dos requisitos é que ele tenha uma função, como vocês podem ver foi colocado uma função, porém a professora disse que aquela função não retorna nenhum valor, e por isso ela se encaixa como procedimento, pesquisei, tentei e não conseguir encaixar uma função nesse algorítimo, queria acrescentar também a cada final de rodada a opção de jogar ou não novamente.

desde já agradeço a ajuda. 

 

abaixo segue o Algorítimo - obs o visuALG utilizado foi o 2.0

 

algoritmo "Jogo da forca"
var
op,frutas,ne,na:inteiro //op: opçao, ne: numero erro, na:numero de acertos
l1,l2,l3,l4,l5,l6,l7,ld1,ld2,ld3,ld4,ld5,ld6,ld7,dig,verifica:caracter //linhas(l1,l2,l3...) serão usadas para o aleatorio, já as ld (ld1, ld2, ld3) serão usadas para verificar o acerto
V,D:Caracter
funcao Derrota () :caracter
inicio

                  Escreval("============================================================")
                  escreval("============================================================")
                  escreval
                  escreval(" --------- FIM  DE JOGO! ------- ")
                  ESCREVAL
                  ESCREVAL(" --------- GAME OVER =( ------- ")
                  ESCREVAL
                  Escreval("============================================================")
                  escreval("============================================================")
fimfuncao
funcao   vitoria () : caracter
inicio


                  limpatela
                  Escreval("============================================================")
                  escreval("============================================================")
                  escreval
                  escreval(" PARABÊNS VOCE VENCEU!  ")
                  ESCREVAL
                  Escreval("============================================================")
                  escreval("============================================================")
                  fimfuncao
inicio

aleatorio on  // ativa o modo aleatorio fonte, palavra on é opcional
aleatorio 1,7 // seleciona o ranger do aleatorio, é preciso definir para o comando ter as opção para escolha
leia (frutas) // todo leia vai ser lançado um numero aleatorio nesse caso de 1 a 3
aleatorio off  // desativa o modo aleatorio, assim ele escolher uma das opções das palavras.

limpatela  // limpa tela

repita // (repita 1) repitir o comando ate achar o comando interrompa
escreval("---SEJA BEM VINDO---")
escreval
escreval(" ---JOGO DA FORCA--- ")
escreval("Autores: Charles Ramos, Pedro Duca, Richard Vepo")
escreval
escreval
escreval("Digite 1 para jogar e 0 para sair")
leia(op)
escolha op // verificar qual opção foi selecionada
       caso 0 //sair
            escreva("você escolheu a opção 0 para sair")
            escreval
            escreval
            fimalgoritmo  // encerrar o algoritmo
       caso 1
            interrompa  // para o loop de escolher opção
       outrocaso   // caso digite algo diferente de 0 ou 1 ele vai limpar a tela
       limpatela   // limpa a tela, e vai voltar para o loop de opção.
fimescolha

fimrepita// fim repita 1

escolha frutas // palava que vai ser escolhida automaticamente pelo aleatorio no inicio do código em aleatorio on
        caso 1
             l1 <- "d"
             l2 <- "a"
             l3 <- "m"
             l4 <- "a"
             l5 <- "s"
             l6 <- "c"
             l7 <- "o"
        caso 2
             l1 <- "a"
             l2 <- "b"
             l3 <- "a"
             l4 <- "c"
             l5 <- "a"
             l6 <- "x"
             l7 <- "i"
        caso 3
             l1 <- "a"
             l2 <- "b"
             l3 <- "a"
             l4 <- "c"
             l5 <- "a"
             l6 <- "t"
             l7 <- "e"
        caso 4
             l1 <- "a"
             l2 <- "c"
             l3 <- "e"
             l4 <- "r"
             l5 <- "o"
             l6 <- "l"
             l7 <- "a"
        caso 5
             l1 <- "l"
             l2 <- "a"
             l3 <- "r"
             l4 <- "a"
             l5 <- "n"
             l6 <- "j"
             l7 <- "a"
        caso 6
             l1 <- "p"
             l2 <- "e"
             l3 <- "s"
             l4 <- "s"
             l5 <- "e"
             l6 <- "g"
             l7 <- "o"
        caso 7
             l1 <- "g"
             l2 <- "u"
             l3 <- "a"
             l4 <- "r"
             l5 <- "a"
             l6 <- "n"
             l7 <- "a"
fimescolha


ld1 <- "_"           // LINHAS USADAS PARA ESCREVER
ld2 <- "_"
ld3 <- "_"
ld4 <- "_"
ld5 <- "_"
ld6 <- "_"
ld7 <- "_"


         // inicio do jogo
          repita //repita2

                 se (ne > 7) entao  // Se número de erros for maior que 6 que é o tamanho das palavras logo, jogador perde, ou seja, jogador possui 6 chances apenas.
                   D<- Derrota

                  FIMALGORITMO

                 fimse


                 se (ld1 <> "_") e (ld2 <> "_") e (ld3 <> "_") e (ld4 <> "_") e (ld5 <> "_") e (ld6 <> "_") e (ld7 <> "_") entao // Se as linhas forem diferentes de _ significa que existe letra no local,
                   V<- Vitoria

                  FIMALGORITMO

                  fimse


          limpatela

          Escreval("============================================================")
          escreval("============================================================")
          escreval("")
          escreval("    /-----|")
          escreval("   /      |")

          se (ne > 0 ) entao
             escreval("  /     (x.x)")
          senao
             escreval("  /")
          fimse

          se (ne > 1 ) entao
               escreval(" |      __||__  ")
          senao
               escreval(" |   ")
          fimse

          se (ne > 2 ) entao
             escreval(" |     /|     |\\")
          senao
             escreval(" |   ")
          fimse

          se (ne > 3) entao
             escreval(" |   /  |_____| \\")
          senao
               escreval(" |   ")
          fimse

          se (ne > 4) entao
             escreval(" |       ||  ||")
          senao
               escreval(" |      ")
          fimse

          se (ne > 5) entao
             escreval(" |      _|| _||")
          senao
             escreval(" |     ")
          fimse

          se (ne > 6) entao
             escreval(" |     |__||__|")
             escreval("=====                ULTIMA CHANCE! ")
          senao
               escreval(" |    ")
             escreval("=====               ")
          fimse

escreval("")
escreval("Acertos: ",na)
escreval("Erros: ",ne)
escreval("")
escreva("Palavra com 7 letras:     ",ld1," ",ld2," ",ld3," ",ld4," ",ld5," ",ld6," ",ld7)
Escreval("")
escreval("Dica da palavra: FRUTA ")
escreval
escreva("digite uma letra: ")

leia(dig)


verifica <- "0"

se (l1 = dig) e (ld1 = "_") entao
     ld1 <- dig
     na <- na + 1
     verifica <- "1"
fimse


se (l2 = dig) e (ld2 = "_") entao
         ld2 <- dig
         na <- na + 1
         verifica <- "1"
fimse

se (l3 = dig) e (ld3 = "_") entao
         ld3 <- dig
         na <- na + 1
         verifica <- "1"
fimse

se (l4 = dig) e (ld4 = "_") entao
         ld4 <- dig
         na <- na + 1
         verifica <-  "1"
fimse

se (l5 = dig) e (ld5 = "_") entao
         ld5 <- dig
         na <- na + 1
         verifica <- "1"
fimse

se (l6 = dig) e (ld6 = "_") entao
         ld6 <- dig
         na <- na + 1
         verifica <- "1"
fimse

se (l7 = dig) e (ld7 = "_") entao
         ld7 <- dig
         na <- na + 1
         verifica <- "1"
fimse

se (verifica = "0") entao
ne <- ne + 1
fimse

escreval("==============================================================")
escreval("==============================================================")

          fimrepita


fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por alexdyna
      Prezados,
      Amigos tenho que fazer um trabalho da faculdade onde o professor me da um arquivo que vou colocar anexo e tenho que fazer um algoritmo que leia o arquivo e monte uma tabela com as informações.
      pelo que vejo ele tem na primeira linha 8 barra e nas demais linha 10 barras
      ate a ultima que seria sua parada onde temos 2 barras seguidas.
       
      ficaria muito grato com a ajuda de todos.
       
      No arquivo anexo esta o texto:
      Nome/telefone/nascimento/Horas Curso/vendas T1/vendas T2/vendas T3/vendas T4/
       Luiz Ranza Neo/99934-5255/05/12/1989/200/107099,072578621/76915,8996218681/100922,271239691/76372,9971916498/
      Richard de Barrissaia/99326-4689/18/03/1990/150/55123,0080621828/68062,2200055909/67233,9928593779/45236,5928531083/
      Rodrigo Abalâminos/99911-7413/09/08/1987/168/71697,3866071191/58063,5644108225/88183,6230762134/48160,3116315664/
      José Gigfrid/99658-7874/15/04/1997/135/48816,199086596/50086,3689415844/52916,3066872779/55232,0663463164/
      Luiza Celly Silva/99659-1214/01/02/2000/90/29208,8223591438/39361,8088384592/45062,056112236/38913,7237126574/
      Maria Kunlun/99686-7845/21/04/1984/182/92076,1053757689/80440,5339844205/87575,0546657182/79220,9398178354/
      //
       
    • Por credson
      pessoal ola gostaria de criar um algoritimo que atraves da resposta de usuario que so podem digitar sim ou nao ....se chegasse a um determinado item da lista de um array
       
       
      por exemplo
       
      let lista =['trator','carro','bicicleta','Moto','trem','caminhao','onibus','paraquedas','balao','aviao','helicoptero','submarino','barco','navio','lancha'];   fazer varias perguntas onde as resposta seria sim ou nao e atraves disso chegase a resultado de algum item da array exemplo   tem rodas= sim e leve = sim tem pedal = sim reposta = bicicleta     outra situacao   voa= sim e leve= nao tem elise = sim   resposta elicoptero                           pq so que tem elise nesta lista e elicoptero     obg pela ajuda      
    • Por theuz bergles
      QUERO CRIAR UM GAME, MAS NÃO TENHO CONHECIMENTO PARA TAL.
       
      Olá! A minha ideia é criar um jogo de terror, que tenha realmente uma pegada de medo no psicológico do jogador. Mas como eu disse no título, não possuo conhecimento para tal criação e estou buscando profissionais (podem ser amadores também) que queiram trabalhar nisso comigo. A seguir, estará a apresentação da minha ideia inicial: 
       
       
      •O jogo seria em uma igreja abandonada, onde seriam feitas perguntas, uma de cada vez, em alguma parte (porta, janela, parede, chão, teto...) de um cômodo aleatório do ambiente escolhido. Obs: Perguntas  Sempre vai ter um ponto de interrogação (“?”) ao final de cada pergunta feita pelo demônio. Obs: Respostas  no cômodo estaria escrito “A RESPOSTA É...” e as respostas estariam apresentadas em alternativas: “A), B), C) e D)” e a resposta certa deverá ser falada em voz alta, através do microfone ligado ao seu computador: “A RESPOSTA É A ALTERNATIVA D)”, por exemplo. Obs: As perguntas e respostas sempre vão seguir os padrões grifados com as aspas (“ ”). •Para que tenhamos mais interatividade, o jogador terá que dizer em voz alta, através do microfone conectado ao seu computador, as perguntas escritas pelo demônio, pois assim, o jogo irá entender que você visualizou a pergunta feita, irá processar e, em seguida, escrever a resposta da forma citada acima. E com a resposta (uma das alternativas apresentadas), você também terá que dizer em voz alta através do microfone conectado ao seu computador. •Lembrando que, como o personagem principal tem conhecimento em Latim, as perguntas podem aparecer no respectivo idioma. Porém, se isso acontecer, o demônio irá traduzir a pergunta para o seu idioma, falando em voz alta. (E isso está incluído como fenômeno paranormal) •O jogo terá um sistema de sanidade mental, que funcionaria como uma espécie de vida para o personagem, iniciando com 100%, e diminuindo ao longo do tempo. Caso você presencie alguma atividade paranormal, fique na escuridão por algum tempo, tenha alguma manifestação do tabuleiro Ouija ou responda alguma pergunta de forma incorreta, a perda de sanidade será maior, e se chegar a 0%, o demônio matará o personagem instatâneamente. •Quanto menos sanidade, mais fenômenos irão acontecer e, consequentemente, mais rápido chegará a 0. Para retardar essa ocorrência, estaremos implementando pílulas, que funcionarão como remédios para aumentar parte da sanidade, e diminuir, temporariamente, a perda precoce da mesma. Ainda assim, mesmo com esse retardo, teremos crucifixo e água benta, que vão ajudar no mantimento temporário da sanidade atual, mesmo que ocorram fenômenos naturais. Depois de algum tempo, o crucifixo quebrará e se tornará inútil, e a água benta terá efeito imediato, porém durará apenas algum tempo. •No início da Gameplay, o personagem começará com uma vela acesa (uma das velas que foram usadas no uso do tabuleiro Ouija) e terá que tomar cuidado para a vela não apagar, seja por causa da tempestade fora da Igreja, seja por causa dos fenômenos paranormais. •Caso a vela seja apagada, por quaisquer dos motivos acima, não se preocupe! Nós fornecemos um isqueiro e uma lanterna, que estão pela Igreja. Mas tome cuidado! Como o isqueiro funciona com gás e a cada uso parte do gás é consumido, o isqueiro tem a quantidade de usos limitado. E a lanterna, como funciona a pilhas, caso acabe as que já estão nela, você pode encontrar outras pelo caminho. Se não conseguir encontrar, bom, você já sabe o que lhe aguarda... •As luzes dos cômodos podem ser acesas, ou apagadas caso o demônio intervenha ou caso a tempestade rompa os cabos de energia. (Caso as luzes sejam religadas sozinhas ou caso você as consiga ligar, logo depois que elas foram desligadas, com certeza foi o demônio. Ou seja, pode ser considerado um fenômeno paranormal.) •Caso as perguntas sejam respondidas da maneira correta, mais um efeito será adicionado na trilha sonora, deixando-a mais apavorante e, consequentemente, deixando o jogador com mais medo. •Um sistema de “Conquistas” será adicionado, para que o jogador sempre jogue buscando obter todas elas. •Se o jogador responder até 3 perguntas de forma incorreta, ele perderá uma quantidade aleatória de sanidade a cada resposta errada, podendo chegar a 0 instantâneamente, até a terceira resposta dada, e, consequentemente, morrendo por este motivo. •Caso o jogador consiga se manter vivo até o final (se ele não morrer imediatamente no primeiro, segundo ou terceiro erro) ou responda de forma correta todas as perguntas feitas, o exorcismo no demônio é feito e ele consegue salvar seu amigo. •Em algumas perguntas específicas, você pode interagir com o tabuleiro Ouija para obter a resposta. Obs: Mas lembre-se que você perderá sanidade ao fazer isso. •Ao ver as perguntas e respostas escritas, sua sanidade também cairá, já que, se não é você quem está escrevendo-as, quem será? (considerado fenômeno sobrenatural.) •Não necessariamente, se você ouvir algum ruído do ambiente, significa que seja algum fenômeno. Pode ser consequência da tempestade no ambiente externo. (Portas fechando, janelas batendo, sino tocando, trovões.) Obs: Gritos, soluços, risadas, choros, batidas na porta, portas trancadas (não tem como uma igreja abandonada ter portas trancadas) são considerados fenômenos.
    • Por ALOISIO SANTOS
      Crie um algoritmo peça o Nome da pessoa, sexo e idade e classifique de acordo com a tabela abaixo:
       
       
      SEXO IDADE SALA Masc abaixo 18 Sala 1 Masc acima = 18 Sala 2 Fem abaixo 18 Sala 3 Fem acima = 18 Sala 4  
    • Por cerejafalante
      Olá pessoal, estou com uma lista de exercício de funções para fazer no visualg mas não sei por onde começar, alguém pode me ajudar fazendo esse exercício? ai eu pego ele de exemplo e faço os outros, obrigada
       
      o exercício é 
      Escreva um programa que calcula área de figuras: quadrado, retângulo, triângulo e círculo. O usuário informa qual forma deseja calcular a área, informa os parâmetros necessários e a área da forma é calculada em uma função. 
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.