Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

pedro mineiro

codigo do programa (percorrendo um labirinto)C++

Recommended Posts

me ajudem nesse programa poela mor de deus

eu preciso que me passem o dodigo dele inteiro dele pra mim ter uma noçao de como que faiz

pela mor

me ajudem

 

 

 

 

(Percorrendo um labirinto) A seguinte grade de #s e underscores( _ é uma representação de um labirinto na forma de array bidimensional.

 

 

 

 

 

 

 

# # # # # # # # # # # #

 

 

 

# _ _ _ # _ _ _ _ _ _ #

 

 

 

_ _ # _ # _ # # # # _ #

 

 

 

# # # _ # _ _ _ _ # _ #

 

 

 

# _ _ _ _ # # # _ # _ _

 

 

 

# # # # _ # _ # _ # _ #

 

 

 

# _ _ # _ # _ # _ # _ #

 

 

 

# # _ # _ # _ # _ # _ #

 

 

 

# _ _ _ _ _ _ _ _ # _ #

 

 

 

# # # # # # _ # # # _ #

 

 

 

# _ _ _ _ _ _ # _ _ _ #

 

 

 

# # # # # # # # # # # #

 

 

 

 

 

 

 

No array bidimensional precedente, os #s representam as paredes do labirinto e os underscores representam quadrados ou posições nos caminhos possíveis pelo labirinto. Os movimentos são permitidos apenas para as posições do array que contêm um underscore.

 

 

 

Há um algoritimo simples para percorrer um labirinto que garante a localização da saída ( pressupondo que exista uma saída). Se não houver saída, você chegará à localização inicial novamente. coloque a mão direita na parede à sua direita e comece a andar para frente. nunca tire a mão da parede. Se o labirinto virar para direita, siga a parede à direita. Contanto que você não remova a mão da parede, você acabará chegando à saída do labirinto. É possível que haja um caminho mais curto do que o que você tomou, mas a saída do labirinto é garantida se você seguir o algoritimo.

 

 

 

Escreva o método recursivo mazeTraverse para percorrer o labirinto. O método deve receber como argumentos um array de caracteres 12 por 12 que representa o labirinto e a posição de entrada no labirinto. À medida que mazetraverse tenta localizar a saída do labirinto, ele deve colocar o caractere X em cada quadrado no caminho. O método deve exibir o labirinto depois de cada movimento de modo que o usuário possa observar enquanto o problema da saída do labirinto é resolvido.

 

preciso do codigo desse problema inteiro

só para mim poder ter uma noçao

pque eu num tenho a menor noçao do jeito que faz isso

se puderem me ajudar

valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom você tem q entender a lógica neh!

ele coloca a mão direita ai você faz um algorimo + ow - assim:

if(parede == '_') '_' = 'o' //digamos q 'o' seja seu boneco 
else andaboneco();
ai você tem q ver qnd tiver q usar a função vira(); pq vai chegar hrs q ele vai bater a cara na parede!

 

bom tente implementar algo, pq acho realmente muito dificil alguem fazer td isso pra você, entaum mão na massa http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

c fosse uma coisa simplezinha eu até implementava + como isso naum é tão simples realmente naum tenho tempo!

jah q você é iniciante estude coisas básicas como declaração de variaveis, controle de fluxo!

 

veja: Labirinto

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

se eu fizer isso vai dar certo

 

 

eu axoi que tem que declarar variaveis ou até construir uma classe

eu tbm num sei aonde que tem que por o labirinto no programa

 

dá uma olhada nisso

 

 

if(vetor[a+1]==" _ " && vetor[a][b+1]==" # " && vetor[a-1]==" _ " && a>=3 && b>=7)

{

vetor[a-1]=" X ";

vetor[a]=" _ ";

a--;

}//fim do 1º if

else if(vetor[a+1]==" _ " && vetor[a][b+1]==" # " && vetor[a-1]==" # " &&

vetor[a][b-1]==" _ " && a>=2 && b>=5)

{

vetor[a][b-1]=" X ";

vetor[a]=" _ ";

b--;

}//fim do 2º if

else if(vetor[a][b+1]==" _ " && a==1 || a==4 || a==8)

{

vetor[a][b+1]=" X ";

vetor[a]=" _ ";

b++;

}//fim do 3º if

else if(vetor[a+1]==" _ ")

{

vetor[a+1]=" X ";

vetor[a]=" _ ";

a++;

}//fim do 4º if

else if(vetor[a-1]==" _ ")

{

vetor[a-1]=" X ";

vetor[a]=" _ ";

a--;

}//fim do 5º if

else if(vetor[a][b-1]==" _ " && a>=3 && b>4)

{

vetor[a][b-1]=" X ";

vetor[a]=" _ ";

b--;

}//fim do 6º if

else if(vetor[a][b+1]==" _ " && vetor[a-1]==" # " && vetor[a][b-1]==" _ " && b>4 && a>1 && a<=4)

{

vetor[a][b-1]=" X ";

vetor[a]=" _ ";

b--;

}//fim do 7º if

 

 

saida+="n";

 

for(int c=0;c<vetor.length;c++)

{

saida+="n";

for(int d=0;d<vetor.length;d++)

saida+=vetor[c][d];

 

}//fim do 1º for

 

areasaida.append(saida);

 

 

se isso teiver certo avisa

 

valeu hein

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.