Comparar 3 comboBox um com o outro

Olá, sou novo aqui no fórum.

Preciso fazer o jogo, pedra, papel, tesoura com interface gráfica.

São três jogador, então coloquei 3 comoBox e cada um com a opções pedra, papel, tesoura e depois tem um botão jogar para díspar a comparação.

Preciso fazer os ifs da vida e passar a mensagem para um textFiled ou um label com a mensagem empate ou jogador x é o vencedor.

O primeiro problema é que empaquei até na hora de consegui pegar a opção do jogar e passar para uma variável qualquer para depois fazer a comparação

String res1;
String res2;
String res3;

public void res(String res1, String res2, String res3){
this.res1 = res1;
this.res2 = res2;
this.res3 = res3;
}
@SuppressWarnings(“unchecked”)
// <editor-fold defaultstate=“collapsed” desc=“Generated Code”>
private void initComponents() {

    jLabel1 = new javax.swing.JLabel();
    j2 = new javax.swing.JComboBox();
    j1 = new javax.swing.JComboBox();
    j3 = new javax.swing.JComboBox();
    lPlacar = new javax.swing.JLabel();
    jogar = new javax.swing.JButton();
    res = new javax.swing.JTextField();
    l1 = new javax.swing.JLabel();
    l2 = new javax.swing.JLabel();
    l3 = new javax.swing.JLabel();



private void jogarActionPerformed(java.awt.event.ActionEvent evt) {                                      
   
   res.setText(j1.getSelectedItem().toString());
   res.setText(j2.getSelectedItem().toString());
   res.setText(j3.getSelectedItem().toString());
   
  /* assim não deu certo
    res1 =((String)(j1.getSelectedItem())); 
    res2 =((String)(j2.getSelectedItem())); 
    res3 =((String)(j3.getSelectedItem()));*/ 
}                                     

private void j1ActionPerformed(java.awt.event.ActionEvent evt) {                                   
    res1 =((String)(j1.getSelectedItem())); 
}                                  

private void j2ActionPerformed(java.awt.event.ActionEvent evt) {                                   
    res2 =((String)(j2.getSelectedItem())); 
}                                  

private void j3ActionPerformed(java.awt.event.ActionEvent evt) {                                   
    res3 =((String)(j3.getSelectedItem())); 
}                                  



   // Variables declaration - do not modify
private javax.swing.JComboBox j1;
private javax.swing.JComboBox j2;
private javax.swing.JComboBox j3;
private javax.swing.JLabel jLabel1;
private javax.swing.JButton jogar;
private javax.swing.JLabel l1;
private javax.swing.JLabel l2;
private javax.swing.JLabel l3;
private javax.swing.JLabel lPlacar;
private javax.swing.JTextField res;
// End of variables declaration

}

Cara, é só fazer a mesma coisa.

ou

[quote=xxMAGRAOxx]Cara, é só fazer a mesma coisa.

ou

Obrigado pela ajuda… mais não deu certo, sou iniciante de mais, porem na facu tenho que fazer esse exercicio e como sempre preciso aprender mais por fora do que pela facu.

Olha de uma olhada, o que estou fazendo de errado.

   j1.setText(j1.getSelectedItem().toString()); // assim não deu
   res1.getSelectedItem().toString(); // assim não deu
   j3.getSelectedItem().toString(); // assim não da erro, mais também no teste atual, não aparece o texto [empate], que precisa aparecer na variavel res que é um textField

   
   if(j1.equals("Pedra") && j1.equals("Pedra") && j1.equals("Pedra")){
       System.out.println("Empate");
   }

Obrigado pela ajuda…

Entendo, ja passei muito por isso com a faculdade.

Então, olha só.

As váriaveis res1, res2 e res3 estão pegando o valor que está nos comboBoxs.

res1 = j1.getSelectedItem().toString();
res2 = j2.getSelectedItem().toString();
res3 = j3.getSelectedItem().toString();

Ao clicar no botão jogar é só fazer isso:

if(res1.equals(res2) && res1.equals(res3)){ System.out.println("Empate"); etc... }

Agora, se continuar dando errado o problema está em outra coisa. Daí é só vc postar o erro e o código que te ajudo.

Abraços!

[quote=xxMAGRAOxx]Entendo, ja passei muito por isso com a faculdade.

Então, olha só.

As váriaveis res1, res2 e res3 estão pegando o valor que está nos comboBoxs.

res1 = j1.getSelectedItem().toString();
res2 = j2.getSelectedItem().toString();
res3 = j3.getSelectedItem().toString();

Ao clicar no botão jogar é só fazer isso:

if(res1.equals(res2) && res1.equals(res3)){ System.out.println("Empate"); etc... }

Agora, se continuar dando errado o problema está em outra coisa. Daí é só vc postar o erro e o código que te ajudo.

Abraços![/quote]

Estamos chegando lá.

Ex, se o res1 for pedra && res2 for pedra && res2 for pedra
msg: empate
se o res1 for papel && res2 for tesoura && res2 for papel
msg: Jogado 2 venceu

se res1 for papel && res2 for tesoura && res2 for tesoura
msg: Jogado 1 tá fora… continuando jogo

ect… esse é o meu desafio…


neste forma como seria?

if(res1.equals(res2) && res1.equals(res3)){ //jogador res1, res2, res3 são iguais, mais não tem como o sistema saber qual exatamente foi a escolha, parece que assim não tem jeito de comparar se o res1 ganhou do res2 ou empatou ou perdeu para o res3, pois o fato dele ser diferente pode caracterizar derrota ou vitoria... System.out.println("Empate"); etc... }

Nossa… como eu estou dando trabalho, será que expressei bem…
obrigado por enquanto…

Ih Brother. O que eu te dei foi só a ponta do iceberg. Vc terá que fazer uma série de ifs aninhados para resolver tal algoritmo.

Fiz uma amostra do que te espera.

	if(res1 == "pedra" && res2 == "papel"){//Começo das comparações
		j2.setEnable(false);//Jogador 1 eliminou o jogador 2. Desabilita o jogador 2 e continua o jogo
		if(res1 == "pedra" && res3 == "papel"){
			j3.setEnable(false);//Jogador 1 eliminou o jogador 2 e o jogador 3. Fim de jogo
		}else if(res1 == "papel" && res3 == "pedra"){
			j3.setEnable(false);//Jogador 1 eliminou o jogador 2 e o jogador 3. Fim de jogo
		}else{
			j1.setEnable(false);//Se o jogador 1 ganhou do 2 mas perdeu pro 3 em qualquer condicao o jogador 3 eh o vencedor.
		}
	}else if(res1 == "papel" && res2 == "pedra"){
		j2.setEnable(false);
		if(res1 == "pedra" && res3 == "papel"){
			j3.setEnable(false);
		}else if(res1 == "papel" && res3 == "pedra"){
			j3.setEnable(false);
		}else{
			j1.setEnable(false);
		}
	}else{
		j1.setEnable(false);
	}
	
	//Agora começa com o j2 e por ai vai
	//setEnable é para sumir com o comboBox perdedor

Vc vai ter que quebrar a cabeça um pouco ai. Estou indo dormir.
Depois posta o progresso.

Abraços!

[quote=xxMAGRAOxx]Ih Brother. O que eu te dei foi só a ponta do iceberg. Vc terá que fazer uma série de ifs aninhados para resolver tal algoritmo.

Fiz uma amostra do que te espera.

	if(res1 == "pedra" && res2 == "papel"){//Começo das comparações
		j2.setEnable(false);//Jogador 1 eliminou o jogador 2. Desabilita o jogador 2 e continua o jogo
		if(res1 == "pedra" && res3 == "papel"){
			j3.setEnable(false);//Jogador 1 eliminou o jogador 2 e o jogador 3. Fim de jogo
		}else if(res1 == "papel" && res3 == "pedra"){
			j3.setEnable(false);//Jogador 1 eliminou o jogador 2 e o jogador 3. Fim de jogo
		}else{
			j1.setEnable(false);//Se o jogador 1 ganhou do 2 mas perdeu pro 3 em qualquer condicao
		}
	}else if(res1 == "papel" && res2 == "pedra"){
		j2.setEnable(false);
		if(res1 == "pedra" && res3 == "papel"){
			j3.setEnable(false);
		}else if(res1 == "papel" && res3 == "pedra"){
			j3.setEnable(false);
		}else{
			j1.setEnable(false);
		}
	}else{
		j1.setEnable(false);
	}
	
	//Agora começa com o j2 e por ai vai
	//setEnable é para sumir com o comboBox perdedor

Vc vai ter que quebrar a cabeça um pouco ai. Estou indo dormir.
Depois posta o progresso.

Abraços![/quote]

Amigo, obrigadão mesmo, acho que agora vai…
Sucesso…