Prévia do material em texto
programa {
funcao inicio() {
inteiro labirinto[5][5]
inteiro posX = 0
inteiro posY = 0
inteiro numA = 0
inteiro numB = 0
inteiro numC = 0
inteiro numD = 0
//LEGENDA:
// número 0 = caminho livre
// número 1 = parede
// número 2 = tesouro
// número 3 = armadilha
// ENDEREÇOS DA MATRIZ
labirinto[0][0] = 0
labirinto[0][1] = 1
labirinto[0][2] = 1
labirinto[0][3] = 1
labirinto[0][4] = 1
labirinto[1][0] = 1
labirinto[1][1] = 0
labirinto[1][2] = 0
labirinto[1][3] = 0
labirinto[1][4] = 1
labirinto[2][0] = 1
labirinto[2][1] = 3
labirinto[2][2] = 0
labirinto[2][3] = 0
labirinto[2][4] = 1
labirinto[3][0] = 1
labirinto[3][1] = 0
labirinto[3][2] = 0
labirinto[3][3] = 0
labirinto[3][4] = 1
labirinto[4][0] = 1
labirinto[4][1] = 1
labirinto[4][2] = 1
labirinto[4][3] = 1
labirinto[4][4] = 2
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. \n \n")
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 vez que o programa iniciar, tornando a exploração do labirinto desafiadora e imprevisível. \n \n")
escreva("Boa sorte em sua busca pelo tesouro! \n \n")
enquanto(labirinto[posX][posY] != 2)
{
escreva("Sua posição atual é a seguinte: \n (", posX,", ",posY,") ")
faca
{
escreva("digite um valor de 0 a 4 para a posição x: ")
leia(posX)
}
enquanto (posX 4)
faca
{
escreva("digite um valor de 0 a 4 para a posição y: ")
leia(posY)
}
enquanto (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 = 0
posY = 0
//Retirar o tesouro do local anterior
labirinto[4][4] = 1
labirinto[numA][numB] = 0
//Sortear 2 números aleatórios entre 0 e 4
//Atribuir estes número às variáveis numA e numB
numA = u.sorteia(0, 4) // numero escolhido foi o 4
numB = u.sorteia(0, 4) // numero escolhido foi o 1
//Atribuir o valor do tesouro ao endereço aleatório gerado através das variáveis numA e numB
labirinto[numA][numB] = 2
//Retirar a armadilha do local anterior
labirinto[2][1] = 1
labirinto[numC][numD] = 0
//Sortear 2 números aleatórios entre 0 e 4
//Atribuir estes número às variáveis numA e numB
numC = u.sorteia(0, 4)
numD = u.sorteia(0, 4)
//Conferir se a nova posição da armadilha é igual a posição do tesouro
//Caso seja, será alterado automaticamente
se (numC == numA ou numD == numB)
{
//Sortear 2 números aleatórios entre 0 e 4
//Atribuir estes número às variáveis numA e numB
numC = u.sorteia(0, 4)
numD = u.sorteia(0, 4)
}
//Atribuir o valor do tesouro ao endereço aleatório gerado através das variáveis numA e numB
labirinto[numC][numD] = 3
}
}
}
}