[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]);
}
}
}