Jump to content
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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Bruno de Souza23
      Bom dia pessoal. Estou com um probleminha. Preciso desenvolver um jogo Simples para a empresa onde eu trabalho. O problema é que eu não sou bom nesse tipo de desenvolvimento e eu preciso fazer esse jogo para que eu possa entrar no setor em que eu realmente estudei. Preciso de uma ajuda para fazer esse desenvolvimento. Alguém poderia me dar essa dica ou uma ideia? Não sei por onde começar.
    • By theuz bergles
      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.
    • By janir.matheus
      Bom dia, não tenho muita prática com JavaScript (tive contato apenas durante um período no CEDERJ). Ocorre que agora preciso do bendito, e não estou conseguindo sair de uma situação. Vou postar o código:
      <script language="JavaScript"> coordenadas = ""; //Defini essa variável segundo meus conhecimentos, por ter omitido a palavra 'var' ela é global function sucesso(posicao) { coordenadas = posicao.coords.latitude; //document.write(coordenadas); //Aqui dentro ela escreve o valor da latitude } if('geolocation' in navigator) { navigator.geolocation.getCurrentPosition(sucesso); } else { alert("Navegador incompatível com esse recurso"); } document.write(coordenadas); //Aqui eu NÃO consigo pegar o valor </script> Basicamente eu quero salvar os valores de Latitude, Longitude e Timestamp em variáveis para poder usa-las posteriormente. Conto com a vossa ajuda. 
      Obrigado.
    • By TATIANE DEOTI
      PRECISO RESPONDER ATRAVÉS DO VISUALG MAS NÃO ESTOU CONSEGUINDO FORMULAR
       
      Uma loja por atacado vende caixas com 30 unidades de cada produto. Faça um algoritmo no Visualg que leia o valor pago por um cliente,  o valor do troco recebido e o nome do produto adquirido. Em seguida, calcule e mostre o valor que foi pago por cada unidade do produto, no seguinte formato: "o produto __ custa R$ __ por unidade".
    • By Millena Oliveira
      Oiii gente, boa noite. Estou estudando ainda e me deram um desafio para desenvolver um programa que imprimisse na tela somente os números primos segundo o valor que o usuário colocasse na execução. Utilizei o readLine para isso. Usei um objeto para que repetisse a execução e salvei todos os números numa array. O problema é, quando faço o teste colocando um número qualquer, retorna uma array vazia. Poderia me dar uma ajuda? Segue abaixo todo o código.
      Obrigada :)
       
      var readline = require("readline"); var rl = readline.createInterface({ input: process.stdin, output: process.stdout }); function desafioPrimos() { var primos = []; rl.question("Digite um número: ", function (num) { console.log(primos); numero = parseInt(num); numerosPrimos: for (var x = 2; x <= num; x++) { for (var y = 2; y < x; y++) { if (x % y === 0) continue numerosPrimos; }; primos.push(x); rl.close(); }; }); }; desafioPrimos();  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.