dgadelha / Portugol-Webstudio

IDE online para o Portugol
https://portugol.dev
GNU General Public License v3.0
274 stars 59 forks source link

sotware portugal webstudio #300

Open diegogabrielc opened 2 months ago

diegogabrielc commented 2 months ago

Descrição do problema

programa nao executa corretamente a funçao de procurar tesouro no labirinto da matriz 5x5 contendo armadilha parede e caminho lvre

Código

programa {
  inclua biblioteca Util --> u
  funcao inicio()
  {
   // inteiro i, j, 
      inteiro labirinto[5][5]
      inteiro posX = 0
      inteiro posY = 0
      inteiro numA = 0
      inteiro numB = 0
      inteiro numC = 0
      inteiro numD = 0

       inicializa o labirinto com parede (1) e caminho livre (0)
      para(i = 0; i < 5; i++)
      //{
       para(j = 0; j < 5; j++)
       //{
        labirinto[i][j] = parede
        labirinto[i][j] = armadilha
        labirinto[i][j] = livre
        labirinto[i][j] = tesouro
        }
    }
    faca{

      // funçoes
      //caminho livre =0
      // tesouro =3
      // armadilha =2
      // parede =1

// Definir alguns caminhos
    labirinto [0][0] = 0
    labirinto [0][1] = 0
    labirinto [0][2] = 1
    labirinto [0][3] = 1
    labirinto [0][4] = 1
    labirinto [1][0] = 1
    labirinto [1][1] = 0
    labirinto [1][2] = 2
    labirinto [1][3] = 2
    labirinto [1][4] = 1
    labirinto [2][0] = 1
    labirinto [2][1] = 0
    labirinto [2][2] = 0
    labirinto [2][3] = 2
    labirinto [2][4] = 1
    labirinto [3][0] = 1
    labirinto [3][1] = 2
    labirinto [3][2] = 0
    labirinto [3][3] = 2
    labirinto [3][4] = 1
    labirinto [4][0] = 1
    labirinto [4][1] = 1
    labirinto [4][2] = 0
    labirinto [4][3] = 0
    labirinto [4][4] = 3

escreva("DESCRIÇÃO DO JOGO \n \n")
escreva("Suponha que você está em uma missão para encontrar um tesouro escondido no meio de um labirinto muito perigoso. \n")
escreva("O labirinto é composto por uma série de corredores estreitos, bifurcações e salas ocultas. \n")
escreva("Sua missão é encontrar o caminho para o tesouro, evitando armadilhas e obstáculos ao longo do caminho.")
escreva("DESCRIÇÃO DO LABIRINTO \n \n")
escreva("- Existem caminhos que não têm saída, fazendo com que você precise voltar atrás e tentar outro caminho. \n")
escreva("- Algumas portas podem levar de volta ao início do labirinto, obrigando-o a recomeçar sua busca. \n")
escreva("- O tesouro está escondido em um local diferente a cada vezque o programa iniciar, tornando a exploração do labirinto desafiadora e imprevisível. \n \n")
escreva("Boa sorte em sua busca pelo tesouro!")
enquanto(labirinto[posX][posY] != 2){
  escreva("Sua posição atual é a seguinte: (", posX,", ",posY,")\n")faca{
    escreva("digite um valor de 0 a 4 para a posição x: ")leia(posX)}
    enquanto (posX < 0 ou posX > 4)faca{
      escreva("digite um valor de 0 a 4 para a posição y: ")
      leia(posY)}
      enquanto (posY < 0 ou posY > 4)
      se(labirinto[posX][posY] == 0){
        escreva("YEAH!!! \nCaminho está livre! \n")}
        se(labirinto[posX][posY] == 1){
          escreva("OPS! \nVocê atingiu uma parede! \n")}
          se(labirinto[posX][posY] == 2){
            escreva("PARABÉNS!!! \nVocê encontrou o tesouro \n")}
            se(labirinto[posX][posY] == 3){
              escreva("ARMADILHA! \nVolte ao início do labirinto! \n")
              posX = 0posY = 0
              //Retirar o tesouro do local anteriorlabirinto[4][4] = 1labirinto[numA][numB] = 0
              //Sortear 2 números aleatórios entre 0 e 4//Atribuir estes número às variáveis numA e numBnumA = u.sorteia(0, 4)
              // numero escolhido foi o 4numB = u.sorteia(0, 4) // numero escolhido foi o 1

 // Enquanto nao encontrar o tesouro

    // enquanto(labirinto[posX][posY] != tesouro)
//escreva ("Explorador esta na posiçao: (", posX, ", ", posY, ")")

  //}enquanto(labirinto < 25 e linha >= 0 ou coluna >= 0)
}
}

Comentários adicionais

No response