O código estar dando erro, porém estar rodando a aplicação como quero, porque ?
Código
programa
{
// Definindo a matriz do labirinto 5x5 e as posições iniciais do explorador e do tesouro
inteiro matriz[5][5]
inteiro posX = 0, posY = 0
inteiro tesouroX = 4, tesouroY = 4
inteiro parede = 1, caminhoLivre = 0
// Função principal
funcao inicio()
{
// Inicializar o labirinto com paredes e caminhos livres
inicializarLabirinto()
// Definindo a posição do tesouro
matriz[tesouroX][tesouroY] = 2
// Laço "Enquanto-Faça" para movimentar o explorador até encontrar o tesouro
enquanto(matriz[posX][posY] != 2)
{
escreva("Explorador está na posição: (", posX, ", ", posY, ")\n")
// Simulação de movimento
moverExplorador()
// Verifica se a posição atual ainda está dentro dos limites
se (posX < 0 ou posX >= 5 ou posY < 0 ou posY >= 5)
{
escreva("Erro: O explorador saiu dos limites da matriz.\n")
interrompa
}
}
escreva("Explorador encontrou o tesouro na posição: (", posX, ", ", posY, ")!")
}
// Função para inicializar o labirinto
funcao inicializarLabirinto()
{
// Inicializa o labirinto com paredes (1) e caminhos livres (0)
para (inteiro i = 0; i < 5; i++)
{
para (inteiro j = 0; j < 5; j++)
{
matriz[i][j] = parede
}
}
// Define alguns caminhos livres
matriz[0][0] = caminhoLivre
matriz[0][1] = caminhoLivre
matriz[1][1] = caminhoLivre
matriz[2][1] = caminhoLivre
matriz[2][2] = caminhoLivre
matriz[2][3] = caminhoLivre
matriz[3][3] = caminhoLivre
matriz[4][3] = caminhoLivre
}
// Função para mover o explorador
funcao moverExplorador()
{
// Tenta mover para baixo se possível
se (posX + 1 < 5 e matriz[posX + 1][posY] == caminhoLivre)
{
posX++
}
// Se não puder, tenta mover para a direita
senao se (posY + 1 < 5 e matriz[posX][posY + 1] == caminhoLivre)
{
posY++
}
// Se não houver movimentos válidos, interrompe
senao
{
escreva("Explorador está preso e não pode se mover!\n")
interrompa
}
}
}
Descrição do problema
O código estar dando erro, porém estar rodando a aplicação como quero, porque ?
Código
Comentários adicionais
No response