Dúvidas na estrutura de puzzle.
3 participantes
Página 1 de 1
Dúvidas na estrutura de puzzle.
Boa tarde pessoal, estou criando um game para o tcc da minha faculdade. Porém surgiu algumas dúvidas entre a minha equipe, de um puzzle que criamos - apenas teoricamente - mas não estamos conseguindo pensar em uma estrutura adequada.
O puzzle seria assim, o personagem entraria em uma biblioteca e lá ele teria as dicas, em uma estante ele teria que puxar os livros na sequência correta - de acordo com as dicas - pra poder liberar uma passagem na casa. Nossa dúvida é justamente como fazer esse puzzle ser exatamente por sequência, supomos que ele puxe o livro errado, o processo reiniciaria até ele puxar corretamente. Questionamos alguns amigos e eles disseram pra utilizar a estrutura booleana em c#, porém sem muitos detalhes. Desde já quem puder ajudar agradeceria muito. :bounce:
hbesm- Iniciante
- PONTOS : 2568
REPUTAÇÃO : 3
Respeito as regras :
Re: Dúvidas na estrutura de puzzle.
ACho q estruturas booleanas ajudariam tipo:
if( bool Livro1 == true && livro2 == false && livro3 == false){
liberarLivro2
}
ae dps q fizer isso do livro1 com o livro2
if( bool Livro1 == true && livro2 == true && livro3 == false && liberarLivro2 == true){
abrirPassagem
}
e assim por diante. espero ter dado uma pequenha luz flw.
if( bool Livro1 == true && livro2 == false && livro3 == false){
liberarLivro2
}
ae dps q fizer isso do livro1 com o livro2
if( bool Livro1 == true && livro2 == true && livro3 == false && liberarLivro2 == true){
abrirPassagem
}
e assim por diante. espero ter dado uma pequenha luz flw.
Re: Dúvidas na estrutura de puzzle.
o uso de um array de numero para guardar a sequencia correta seria mais eficiente e o código ficará bem compacto independente do tamanho da sequencia:
fiz uma sequencia de 10 numeros:
código comentado
entendendo passo a passo:
- defina um array para a sequencia
- se você não entende muito de array, basta saber que cada numero da sequencia está em uma posição do array, se o array tem 10 números, o 1° número está na posição 0, o 2° na posição 1, etc...
- a variável "index" irá dizer em qual posição do array que será verificada a sequencia.
- o index inicia com 0, então o primeiro livro que o usuário pegar será verificado na posição 0 da sequencia_correta, se o usuário pegou o livro 3, o index irá comparar o número do livro pego com o numero na posição 0 do array sequencia_correta que no caso também é 3, então esta correto e o index somará +1, agora ele vale 1, e quando o usuário pegar o próximo livro ele será comparado novamente, max com o numero da posição 1 do array sequencia_correta, se estiver diferente então o index retorna a 0 (reiniciando tudo)
fiz uma sequencia de 10 numeros:
código comentado
- Código:
private int sequencia_correta[3,1,2,4,6,5,7,8,9,10]; //variavel que define a sequencia correta
private int index = 0; //variavel que guarda em que posição da sequencia está
//quando o usuario pegar o livro chama-se este método passando o id do livro pego e será verificado a sequencia
void LivroPego (int id_livro)
{
if(id_livro == sequencia_correta[index]) //se o numero do livro(id) for igual ao numero que esta na posição "index" da "sequencia_correta"
{
index ++; //logo, está certo e o index aumentará +1
print("voce está acertando")//messagem no console da unity
}
else //se não, reinicia tudo
{
index = 0;
print("você errou a sequencia")//messagem no console da unity
}
}
void Update()
{
if(index == sequencia_correta.lenght) //checa se a sequencia foi completada verificando a posição do index com tamanho da sequencia
{
print("Parabens! voce concluiu a sequencia")//messagem no console da unity
}
}
entendendo passo a passo:
- defina um array para a sequencia
- se você não entende muito de array, basta saber que cada numero da sequencia está em uma posição do array, se o array tem 10 números, o 1° número está na posição 0, o 2° na posição 1, etc...
- a variável "index" irá dizer em qual posição do array que será verificada a sequencia.
- o index inicia com 0, então o primeiro livro que o usuário pegar será verificado na posição 0 da sequencia_correta, se o usuário pegou o livro 3, o index irá comparar o número do livro pego com o numero na posição 0 do array sequencia_correta que no caso também é 3, então esta correto e o index somará +1, agora ele vale 1, e quando o usuário pegar o próximo livro ele será comparado novamente, max com o numero da posição 1 do array sequencia_correta, se estiver diferente então o index retorna a 0 (reiniciando tudo)
JailtonUnity- MembroAvançado
- PONTOS : 3528
REPUTAÇÃO : 38
Idade : 25
Respeito as regras :
Re: Dúvidas na estrutura de puzzle.
Galera obrigada pela ajuda irei tentar ambas e aviso caso eu consiga. oo/
hbesm- Iniciante
- PONTOS : 2568
REPUTAÇÃO : 3
Respeito as regras :
Tópicos semelhantes
» Estrutura de repetição for
» [AULA] Estrutura de decisão if..else
» [AULA] Estrutura de repetição while e do while
» puzzle, qual a melhor forma de fazer este ?
» Puzzle 2D em game 3D
» [AULA] Estrutura de decisão if..else
» [AULA] Estrutura de repetição while e do while
» puzzle, qual a melhor forma de fazer este ?
» Puzzle 2D em game 3D
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos