Ajuda Urgente com joguinho perguntas!

Pessoal, sou novo no fórum :slight_smile:

Venho pedir ajuda para fazer um joguinho de perguntas, que está anexado.

O problema que não tenho muito tempo pra aprender, pois esse exercicio faz parte de um processo seletivo para vaga de Trainee e estou desesperado pra fazer mas não tenho muita pratica em Java pois sou iniciante.

Algumas parte usando JoptionPane até que é fácil, mas quando o jogo reinicia e utiliza informações inseridas pelo usuário eu me perco.

O jogo é auto explicativo e tem algumas telinha pequenas, quem puder baixar o arquivo e me dar uma luz de como devo fazer de maneira simples eu agradeço muito.

Oi,

Comece explicando o funcionamento do jogo…

Obs: Este jogo foi feito em qual linguagem ?

Tchauzin!

[quote=lina]Oi,

Comece explicando o funcionamento do jogo…

Obs: Este jogo foi feito em qual linguagem ?

Tchauzin![/quote]

Então lina, a linguagem eu tb não sei.

O jogo começa pedindo para vc pensar em um animal.

Depois pergunta se esse animal vive na água.

Se sim, pergunta se esse animal é um tubarão?
Se sim novamente ele manda uma mensagem dizendo que acertou e volta ao inicio.

Se não é um Tubarão abre uma janelinha e pergunta em qual animal vc pensou por exemplo: Baleia, e em outra janela pergunta: Um(a) “(animal que vc escreveu - Baleia)” _____ mas um tubarão não. Seria uma qualidade, diferença , etc, desse animal por ex: Grande.
Depois volta para o inicio pede pra pensar em um animal e pergunta novamente se o animal vive na água, se sim ele te pergunta se o animal que vc pensou é “Grande”, se sim pergunta se o animal é “(o animal que vc escreveu no inicio - associando a qualidade do animal (grande )com o próprio animal : Baleia)”, se sim ele diz que acertou e volta pro inicio, se não pergunta novamente se é O tubarão que está pensando e continua perguntado em qual animal está pensando , etc… etc…

Assim ele vai jogando na memória as “qualidades” desse animal e O Nome do animal.

Fiz isso umas 5 vezes e vai armazenando as “qualidade” e o nome armazenados conforme a sequancia que fui colocando.

A mesma coisa acontece se digo que o animal Não vive na água, ele pergunta se é um macaco(mesmo caso do tubarão) e assim se repete até fechar o programa.

e qual a sua dificuldade?

Não sei direito como guardar na memória as informações que passo.

Não sei como associar as qualidades com os nomes, etc.

Não entendo muito de java swing e arrays.

E me pediram pra pegar esse joguinho e passar pra Java, comecei fazendo com JoptionPane de uma maneira bem simples, mas depois me perco com a estrutura em geral, e o pior que estou sem tempo pra me aprofundar pra achar uma solução.

Por isso peço ajuda pra alguém que tenha um tempinho, baixar o arquivo e dar uma jogada rapida pra entender a mecânica e me dizer como posso fazer algo bem parecido.

Não sei direito como guardar na memória as informações que passo.

Não sei como associar as qualidades com os nomes, etc.

Não entendo muito de java swing e arrays.

E me pediram pra pegar esse joguinho e passar pra Java, comecei fazendo com JoptionPane de uma maneira bem simples, mas depois me perco com a estrutura em geral, e o pior que estou sem tempo pra me aprofundar pra achar uma solução.

Por isso peço ajuda pra alguém que tenha um tempinho, baixar o arquivo e dar uma jogada rapida pra entender a mecânica e me dizer como posso fazer algo bem parecido.

[/quote]

Ah, nem deu pra jogar aqui ): Depois dou uma olhada quando eu estiver num Windows da vida (:

É requisito saber programar Java para a vaga de trainee que você almeja?

Sim.

Até pq nas Faculdades hj em dia só ensinam Java.

Eu me viro razoavelmente e estou vendo curso de Java para fazer, mas esse exercicio eu quero fazer o mais próximo possivel, pois a vaga me interessou muito.

A sua dificuldade é na linguagem Java ou na lógica de programação? Acredito que o objetivo desta tarefa no processo seletivo seja a de testar a capacidade de raciocínio lógico do candidato à vaga, a não ser que a vaga seja para trabalhar com desenvolvimento.

Tenho mais dificuldade na linguagem mesmo, até imagino como devo fazer, mas na hora de programar me perco um pouco na estrutura.

A vaga é pra programar mesmo em Java, acredito que estão testando o raciocínio e tb conhecimentos na linguagem.

Up, pra ver se mais alguém me ajuda.

Boa tarde.

Já ouviu falar em aninhamento de if-else?

Então, utilize isso. Para guardar na memória é muito simples, basta ir atribuindo os valores a uma variavél.
Exemplo:

String resposta; if(resposta.equalsIgnoreCase("Sim")){ //próxima pergunta ou a resposta do animal escolhido } else { //próxima pergunta }

A “resposta” vai guardar cada resposta enviada pelo usuário de acordo com as perguntas propostas. Basta ir utilizando os if-elses necessários. Abraços :slight_smile:

[quote=nel]Boa tarde.

Já ouviu falar em aninhamento de if-else?

Então, utilize isso. Para guardar na memória é muito simples, basta ir atribuindo os valores a uma variavél.
Exemplo:

String resposta; if(resposta.equalsIgnoreCase("Sim")){ //próxima pergunta ou a resposta do animal escolhido } else { //próxima pergunta }

A “resposta” vai guardar cada resposta enviada pelo usuário de acordo com as perguntas propostas. Basta ir utilizando os if-elses necessários. Abraços :)[/quote]

Boa tarde amigo, agradeço por responder e ajudar.

Então eu criei os if-elses e acredito estar próximo do jogo que anexei, porém esse jogo vai armazenando enquanto estiver rodando e vai guardando informações como o nome e caracteristica de varios animais conforme se vai jogando.

Eu utilizando uma variável auxiliar só consigo guardar um nome e uma caracteristica e se for jogar novamente sobrepõe.

Acho que tem que fazer um array para armazenar e um laço for, porém não sei como fazer nesse código.
Lembrando que o jogo associa a caracteristica do animal com o nome.

Vou colocar o código que estou fazendo e se puderem ajudar a completar o joguinho eu agradeço.


import javax.swing.JOptionPane;


public class Jogo {

	public static void main(String[] args) {
		
		String animalAgua = "";
		String aux_animalAgua = "";
		String caracteristica = "";
		String aux_caracteristica = "";
		
		String animalTerra = "";
		String aux_animalTerra = "";
		String caracteristicaTerra = "";
		String aux_caracteristicaTerra = "";
		

		// String para os botões de OptionDialog 
		String str[] = {"Sim","Não"};
		
		// Variável para o último OptionDialog, 0 para sair, 1 para continuar jogando
		int sair = 1; 
		
		// Inicio do laço
		while (sair == 1) {
				
		// Mensagem inicial
		JOptionPane.showMessageDialog(null, "Pense em um Animal");
		
		// OptionDialog para escolher entre o animal da água ou não
		int animal = JOptionPane.showOptionDialog(null, "O animal que você pensou vive na água ?",
		"Confirme",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE, null, str , str[0]);
		
		
		// Animal Água
		if (animal == 0 ) {
			// Se as variáveis auxiliares estiverem vazias, quer dizer que o jogador começou um novo jogo
			// e a primeira pergunta é sobre o Tubarão
			if (aux_animalAgua.equals("") && aux_caracteristica.equals("")) {
				
				int agua = JOptionPane.showOptionDialog(null, "O animal que você pensou é Tubarão ?",
					"Confirme",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE, null, str , str[0]);
					if (agua == 0) {
					JOptionPane.showMessageDialog(null,"Acertei de novo!");
					}else {
						animalAgua = JOptionPane.showInputDialog(null, "Qual o animal que você pensou?");
						caracteristica = JOptionPane.showInputDialog("Um(a) " + animalAgua + "______ mas um(a) Tubarão não."  );
					}

			}else {
				
				int resp = JOptionPane.showOptionDialog(null, "O animal que você pensou é " + aux_caracteristica+ "?",
						"Confirme",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE, null, str , str[0]);
				if (resp == 1) {
					int agua = JOptionPane.showOptionDialog(null, "O animal que você pensou é Tubarão ?",
							"Confirme",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE, null, str , str[0]);
							if (agua == 0) {
							JOptionPane.showMessageDialog(null,"Acertei de novo!");
							}else {
								animalAgua = JOptionPane.showInputDialog(null, "Qual o animal que você pensou?");
								caracteristica = JOptionPane.showInputDialog("Um(a) " + animalAgua + "______ mas um(a) Tubarão não."  );
								
							}
				}else if (resp == 0) {
					int resp2 = JOptionPane.showOptionDialog(null, "O animal é um(a)" + aux_animalAgua+ "?",
					"Confirme",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE, null, str , str[0]);
						if (resp2 == 0) {
							JOptionPane.showMessageDialog(null,"Acertei de novo!");
						}else {
							animalAgua = JOptionPane.showInputDialog(null, "Qual o animal que você pensou?");
							caracteristica = JOptionPane.showInputDialog("Um(a) " + animalAgua + "______ mas um(a) "+ aux_animalAgua + " não."  );
						}
				}
				
			}
		}else {
			// Animal Terra
			// Mesmo Funcionamento do Animal Água
				if (aux_animalTerra.equals("") && aux_caracteristicaTerra.equals("")) {
					
					int terra = JOptionPane.showOptionDialog(null, "O animal que você pensou é Macaco ?",
						"Confirme",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE, null, str , str[0]);
						if (terra == 0) {
						JOptionPane.showMessageDialog(null,"Acertei de novo!");
						}else {
							animalTerra = JOptionPane.showInputDialog(null, "Qual o animal que você pensou?");
							caracteristicaTerra = JOptionPane.showInputDialog("Um(a) " + animalTerra + "______ mas um(a) Macaco não."  );
						}

				}else {
					
					int resp = JOptionPane.showOptionDialog(null, "O animal que você pensou é " + aux_caracteristicaTerra+ "?",
							"Confirme",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE, null, str , str[0]);
					if (resp == 1) {
						int terra = JOptionPane.showOptionDialog(null, "O animal que você pensou é Macaco ?",
								"Confirme",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE, null, str , str[0]);
								if (terra == 0) {
								JOptionPane.showMessageDialog(null,"Acertei de novo!");
								}else {
									animalTerra = JOptionPane.showInputDialog(null, "Qual o animal que você pensou?");
									caracteristicaTerra = JOptionPane.showInputDialog("Um(a) " + animalTerra + "______ mas um(a) Macaco não."  );
									
								}
					}else if (resp == 0) {
						int resp2 = JOptionPane.showOptionDialog(null, "O animal é um(a)" + aux_animalTerra+ "?",
						"Confirme",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE, null, str , str[0]);
							if (resp2 == 0) {
								JOptionPane.showMessageDialog(null,"Acertei de novo!");
							}else {
								animalTerra = JOptionPane.showInputDialog(null, "Qual o animal que você pensou?");
								caracteristicaTerra = JOptionPane.showInputDialog("Um(a) " + animalTerra + "______ mas um(a) "+ aux_animalTerra + " não."  );
							}
					}
					
				}
			
		}
			
			// Variaveis auxiliares para não apagar os nomes e caracteristicas anteriores
			aux_animalAgua = animalAgua;
			aux_caracteristica = caracteristica;

			aux_animalTerra = animalTerra;
			aux_caracteristicaTerra = caracteristicaTerra;
			
			// Se for 0 (sair) termina o while
			sair = JOptionPane.showOptionDialog(null, "Deseja sair ?",
			"Confirme",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE, null, str , str[0]);

		}
					
	}
}

Pessoal, ultimo UP.

Amanhã terei de entregar e se der pra mais alguém ajudar baseado no post acima que coloquei o código que fiz.

Eu adoro jogos , e bem apenas esclarecendo .
Esse jogo é feito em delphi e a logica em bem simples , o que voce tem que implementar eu uma estrutura de arvore binaria .
O jogo faz uma pergunta : existem duas respostas possiveis sim ou não ? quando voce responde ele elimina um dos ramos da arvore binaria o jogo continua , na folha que restou ate que so exista um folha ( que é a resposta que ele chuta ) , se ele acertar PONTO PRA ELE , senão , ele acrescentar a resposta na árvore para joogs futuros .
Outro ponto : discordo que nas faculdades so se ensine java , esse tipo de coisa eu aprendi em Estrutura de Dados , e onde eu estudo agente estuda isso usando C .Fora outras linguagens de programação.
Obrigado pela atenção .
: P

Em java existe API para arvore , voce deve armazenar a estrutura de arvore em um arquivo , pode ate ser texto .
Crie um metodo que monta a arvore com base no arquivo de texto , ao fim do jogo se ele errar voce atualiza o arquivo de texto pra ficar igual a arvore ( ate agora dois metodos )
A cada novo jogo a arvore deve ser remontada .
Quando o JOGO le uma resposta ele elimina o lado da arvore que lhe convir ( mais um metodo ).
E testa se o jogo esta no fim ( o proximo no da arvore é folha , outro metodo ) . Se for ele chuta a resposta armazenado no no .

Ken, me passa seu e-mail para eu te mandar um pouquinho que eu fiz aqui pra ver se te ajuda.

abç

o plouback, manda pra mim tb :smiley: por favor :wink:

ola Pessoal,
sei q o topico eh um “pouco” antigo mas, voces conseguiram solucionar este teste?

Bem tb gosto de jogos, e envio meu jogo de fizz buzz, que é um quizz, é meio parecido talvez…

de qualquer forma este jogo faz parte de um pacote que distribuo de 7 jogos feitos por mim, segue o link
do jar em funcionamento…
http://www.4shared.com/file/WZU98e2q/7_JOGOS_EM_JAVA.html

mais dúvidas sobre o código entrar em contato por email ou por aqui mesmo…

tb deixo um linkzinho de um bingo que fiz por aqui…
http://www.4shared.com/file/10H8ujBB/BINGO1111.html


no 4shared- raghy30