Ir para conteúdo

Arquivado

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

Strelok

Meu Tópico de Perguntas

Recommended Posts

Bem, eu estou estudando o VisuAlg, e usarei este tópico para formular as minhas perguntas.

 

Bem, estou criando uma interação entre um personagem e um NPC, para ser mais correto é só uma conversa, onde o você deve ter completado uma quest para poder finalizar a conversação. E eu me deparei com um problema.

Estou tendo um problema com a sintaxe na linha 12, e eu não faço ideia de que problema o programa está falando.

 

Aqui esta o algoritmo, alguma dica?

 

algoritmo "Conversação NPC1"
// Função :
// Autor :
// Data : 26/06/2010
// Seção de Declarações 
var Quest1: logico
inicio
// Seção de Comandos
se Quest1 = verdadeiro entao
            escreva "Você já completou a missão que te dei, dê o fora daqui."
            senao
            escreva "O que você deseja, viajante?"
            escolha "Quero uma missão.", "Quem é você?"
                    caso "Quero uma missão."
                    escreva "Hum... Você acha que é louco o suficiente?"
                            escolha "Quer testar?", "Não, esquece."
                            caso "Quero uma missão."
                            //aqui a quest é aberta para o jogador
                            Quest1 <- verdadeiro
                            caso "Não, esquece."
                            fimse
                            fimalgoritmo
                    caso "Quem é você?"
                    escreva "Sou um NPC."
                    fimse
fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Apenas coloquei parênteses nos "escreva"

 

Tente assim:

 

algoritmo "Conversação NPC1"
// Função :
// Autor :
// Data : 26/06/2010
// Seção de Declarações
var
Quest1: logico
inicio
// Seção de Comandos
se Quest1 = verdadeiro entao
   escreva ("Você já completou a missão que te dei, dê o fora daqui.")
senao
   escreva ("O que você deseja, viajante?")
   escolha "Quero uma missão.", "Quem é você?"
   caso "Quero uma missão."
      escreva ("Hum... Você acha que é louco o suficiente?")
      escolha "Quer testar?", "Não, esquece."
      caso "Quero uma missão."
         //aqui a quest é aberta para o jogador
         Quest1 <- verdadeiro
      caso "Não, esquece."
      fimse
   fimalgoritmo
caso "Quem é você?"
   escreva ("Sou um NPC.")
fimse
fimalgoritmo

Não pude testar, mas tenta assim.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, eu havia colocado os parênteses logo após postar aqui, resolvi algumas coisas também.

 

Eu consegui isso:

 

algoritmo "Conversação NPC1"
// Função :
// Autor :
// Data : 26/06/2010
// Seção de Declarações 
var Quest1: logico
    choice1: caractere
    choice2: caractere
inicio
// Seção de Comandos
se Quest1 = VERDADEIRO entao
            escreva ("Você já completou a missão que te dei, dê o fora daqui.")
            senao
                 escreva ("O que você deseja, viajante?")
                 escolha ("Quero uma missão."), ("Quem é você?")
                         caso "Quero uma missão."
                              escreva ("Hum... Você acha que é louco o suficiente?")
                              escolha ("Quer testar?"), ("Não, esquece.")
                                      caso "Quer testar?"
                                      //aqui a quest é aberta para o jogador
                                      Quest1 <- VERDADEIRO
                                      caso "Não, esquece."
                              fimescolha
                 fimescolha
                        caso "Quem é você?"
                        escreva ("Sou um NPC.")
fimse
fimalgoritmo

Removi o segundo "Se", porque percebi que ele não tinha utilidade ali.

Fiz outras modificações, mas nada.

 

O que eu queria, é que mostrasse uma caixa de texto, perguntando "O que você deseja viajante?", e então aparecessem duas opções "Quero uma missão.", e "Quem é você?".

Mas o programa simplesmente roda e escolhe todas as opções por mim. =(

 

O que fazer?

 

Also, minha identição está bem exagerada, tenho que melhorar. ._.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No "escolha" você deve por uma variável para funcionar corretamente, apenas botei os "escolha" da maneira correta, da uma olhada como ficou.

 

algoritmo "Conversação NPC1"
// Função :
// Autor :
// Data : 26/06/2010
// Seção de Declarações
var Quest1: logico
    choice1: caracter
    choice2: caracter
    choice3:caracter
inicio
// Seção de Comandos
se Quest1 = VERDADEIRO entao
            escreval ("Você já completou a missão que te dei, dê o fora daqui.")
            senao
                 escreval ("O que você deseja, viajante?")
                 leia (choice1)
                 escolha (choice1)
                         caso ("Quero uma missão.")
                              escreval ("Hum... Você acha que é louco o suficiente?")
                              leia (choice2)
                              escolha (choice2)
                                      caso ("Quer testar?")
                                      //aqui a quest é aberta para o jogador
                                      Quest1 <- VERDADEIRO
                                      caso ("Não, esquece.")
                              fimescolha
                 fimescolha
                        caso "Quem é você?"
                        escreva ("Sou um NPC.")
fimse
fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

no visualg por default as variaveis lógicas já vem como 'VERDADEIRO' ?

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

a entendi, é q o código fico um tiquinho mal identado ai eu n vi esse 'senão' kkk

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, agora está utilmate, beirando a perfeição.

Apaguei algumas variáveis inúteis, tentei organizar a identição.

E coloquei vários "fimalgoritmo" em cada um dos términos das opções.

Testei todos e está tudo correndo perfeitamente.

 

Meu primeiro Achievement. =D

 

algoritmo "Conversação NPC1"
// Função :
// Autor :
// Data : 26/06/2010
// Seção de Declarações
var Quest1: logico
    choice1: caracter
inicio
// Seção de Comandos
se Quest1 = VERDADEIRO entao
escreval ("Você já completou a missão que te dei, dê o fora daqui.")
senao
escreval ("O que você deseja, viajante?")
leia (choice1)
     escolha (choice1)
     caso ("Quero uma missão.")
     escreval ("Hum... Você acha que é louco o suficiente?")
     leia (choice1)
             escolha (choice1)
             caso ("Quer testar?")
             //aqui a quest é aberta para o jogador
             Quest1 <- VERDADEIRO
             fimalgoritmo
             caso ("Não, esquece.")
             fimalgoritmo
             outrocaso
             escreva ("O que você disse?")
             fimalgoritmo
             fimescolha
     caso ("Quem é você?")
     escreva ("Sou um NPC.")
     fimalgoritmo
     outrocaso
     escreva("O que você disse?")
     fimalgoritmo
     fimescolha
fimse
fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguém ai pode me ajudar? To com dificuldade nessa questao de um trabalho de logica de programação e uso portudol IDE 2.3.

 

Escreva um algoritmo que receba: nome do funcionário, data de nascimento, salário, e a empresa onde trabalha que possui o nome de IFLOGICA. Todos os funcionários recebem aumento de 10% a cada ano (sempre em dezembro). De acordo com o salário atual calcule qual será seu salário em novembro de 2015. Ao final mostre o nome do funcionário, data de nascimento, salário em novembro de 2015 e o nome da empresa onde ele trabalha.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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