Prévia do material em texto
EXERCÍCIO 2
NOME DA DISCIPLINA: ALGORITMOS E LÓGICA DE PROGRAMAÇÃO
Unidade: U2 _ELEMENTOS DE ALGORITMOS
Aula: A3_ ESTRUTURAS DE REPETIÇÃO
programa {
//Inclusão da biblioteca "Util" para utilização da ferramenta sortear
inclua biblioteca Util
//Declaração das variáveis e constantes do programa
const inteiro caminho = 0
const inteiro parede = 1
const inteiro tesouro = 2
const inteiro voltar = 3
inteiro labirinto[5][5]
inteiro posX = 0
inteiro posY = 0
inteiro tesouroX
inteiro tesouroY
inteiro novaPosX = posX
inteiro novaPosY = posY
caracter direcao
funcao inicio() {
//Descrição de como o labirinto funciona com suas instruções
escreva("Bem vindo explorador, você encontrou um labirinto para explorar e nele uma
surpresa te aguarda! HJá um tesouro mágico escondido entre suas passagens, porém para
encontra-lo, deverá passar por alguns desafios! \n")
escreva("Aqui vão algumas breves intruções para te auxiliar em sua jornada: \n\n")
escreva("===============================================================
==================================== \n")
escreva("1. O labirinto possui um tamanho total de 5x5; \n")
escreva("2. Ele possui algumas paredes e armadilhas para te impedir; \n")
escreva("3. Cada vez que você cair em uma armadilha, voltará ao início do labirinto; \n")
escreva("4. Cada vez que você voltar ao início o tesouro mudará de lugar; \n")
escreva("5. Para se locomover no labirinto: W = Cima, S = Baixo, A = Esquerda, D =
Direita.\n")
escreva("============================================ Boa Sorte
============================================")
//Inicializa as funções de criar o labirinto e esconder o tesouro
inicializar_labirinto()
esconder_tesouro()
//Iniciando o busca pelo tesouro, o come=ando executará o código abaixo enquanto a
posição do jogador for diferente da posição do tesouro
enquanto (labirinto[posX][posY] != tesouro)
{
mostrar_labirinto()
se (labirinto[novaPosX][novaPosY] == voltar){//Verifica se o explorador caiu na
armadilha, caso tenha caído ele irá retornar que o sua posição atual é [0][0], senão ele
indicará a posição correta dele.
escreva("O explorador está na posição [0][0]\n")
}senao{
escreva("O explorador está na posição [",novaPosX,"][",novaPosY,"]\n")
}
mover_explorador()
}
escreva("Parabéns! Você encontrou o tesouro na posição [", posX, "][", posY, "]")
}
//Criando o labirinto automáticamente.
funcao inicializar_labirinto(){
para (inteiro i = 0; i = 0 e novaPosX = 0 e novaPosY