Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Relatório do Programa - Labirinto com Estrutura "Enquanto-Faça" 
Introdução 
Este relatório descreve o desenvolvimento e o funcionamento de um programa 
escrito em Portugol, cujo objetivo é simular a exploração de um labirinto 5x5. 
O jogador é representado como um explorador que deve encontrar um tesouro 
escondido no labirinto, enfrentando caminhos livres e limites de 
movimentação. O programa utiliza a estrutura de repetição "enquanto-faça" 
para manter a exploração até que o jogador encontre o tesouro. 
 Objetivo 
Implementar um labirinto 5x5 em forma de matriz, com a posição do tesouro 
definida aleatoriamente. 
Utilizar a estrutura de repetição "enquanto-faça" para manter o jogo em 
execução até o tesouro ser encontrado. 
Permitir a movimentação do jogador pelas teclas (w - cima, s - baixo, a - 
esquerda, d - direita). 
Aplicar lógica de programação, uso de matrizes e controle de fluxo com 
condições. 
 Passo a Passo do Código 
Logo no início, declaramos as variáveis principais do programa: 
portugol 
Copiar código 
inteiro labirinto[5][5] // Matriz do labirinto 5x5 
inteiro posX = 0, posY = 0 // Posição inicial do explorador (0,0) 
inteiro tesouroX, tesouroY // Posição aleatória do tesouro 
caractere movimento // Para capturar a entrada do jogador 
logico encontrouTesouro = falso // Indica se o tesouro foi encontrado 
A matriz labirinto[5][5] representa o labirinto com 25 posições. 
As variáveis posX e posY indicam a posição atual do explorador. 
tesouroX e tesouroY armazenam a posição aleatória onde o tesouro será 
colocado. 
A variável encontrouTesouro controla a execução do loop principal. 
 Geração Aleatória do Tesouro 
A função sorteiaTesouro() gera a posição do tesouro usando a função 
aleatorio(). O objetivo é garantir que o tesouro esteja em uma posição aleatória 
diferente a cada execução do programa. 
portugol 
Copiar código 
funcao sorteiaTesouro() 
{ 
 tesouroX = inteiro(aleatorio(5)) 
 tesouroY = inteiro(aleatorio(5)) 
 
 // Impede que o tesouro apareça na posição inicial (0,0) 
 se (tesouroX == 0 && tesouroY == 0) 
 { 
 tesouroX = 4 
 tesouroY = 4 
 } 
 
 labirinto[tesouroX][tesouroY] = 2 // Marca o tesouro na matriz 
} 
Se a posição gerada for (0,0), o tesouro é colocado na posição (4,4) para 
garantir que ele não esteja na posição inicial. 
Loop Principal do Programa - Estrutura "enquanto-faça" 
O loop principal mantém o jogo rodando até que o explorador encontre o 
tesouro. 
portugol 
Copiar código 
enquanto (encontrouTesouro == falso) 
{ 
 limpaTela() // Limpa a tela para atualizar o labirinto 
 mostraLabirinto() // Mostra o estado atual do labirinto 
 escreva("\nEscolha um movimento (w: cima, a: esquerda, s: baixo, d: direita): 
") 
 leia(movimento) // Lê o movimento do jogador 
 moverExplorador(movimento) // Move o explorador com base no comando 
 verificaTesouro() // Verifica se o tesouro foi encontrado 
} 
• limpaTela(): Atualiza a tela a cada movimento. 
• mostraLabirinto(): Exibe a matriz atualizada com a posição do jogador 
e os caminhos livres. 
• leia(movimento): Lê o comando do jogador para mover o explorador. 
• moverExplorador(movimento): Executa a movimentação do 
explorador. 
• verificaTesouro(): Verifica se a posição atual do explorador coincide 
com a posição do tesouro. 
 Função de Movimentação do Explorador 
A função moverExplorador() permite que o jogador se mova pela matriz com as 
teclas indicadas: 
portugol 
Copiar código 
funcao moverExplorador(caractere movimento) 
{ 
 se (movimento == 'w' && posX > 0) // Para cima 
 { 
 posX = posX - 1 
 } 
 senao se (movimento == 's' && posX 0) // Para a esquerda 
 { 
 posY = posY - 1 
 } 
 senao se (movimento == 'd' && posY

Mais conteúdos dessa disciplina