Sortear questões de um jogo usando Collections

11 respostas
Marcello360

queria colocar umas questões para ficar sorteadas, mas nao sei como faço para sortea-las porque tem eventos associados as perguntas, se fosse só com String eu faria, mas o problema eh que tem eventos variados(de mouse,teclado) em cada questao… começei tentando adicionar ao Collections o metodo onde estao os add e os set’s Visibles, mas imprime tudo… alguem tem alguma ideia de como faço??? um exemplo simples? uma ajuda mesmo q simples ja seria o bastande! obrigado desde ja.

detalhe: nao eh jogo pra universidade só a nivel de curiosidade.

11 Respostas

rmendes08

Marcello360:
queria colocar umas questões para ficar sorteadas, mas nao sei como faço para sortea-las porque tem eventos associados as perguntas, se fosse só com String eu faria, mas o problema eh que tem eventos variados(de mouse,teclado) em cada questao… começei tentando adicionar ao Collections o metodo onde estao os add e os set’s Visibles, mas imprime tudo… alguem tem alguma ideia de como faço??? um exemplo simples? uma ajuda mesmo q simples ja seria o bastande! obrigado desde ja.

detalhe: nao eh jogo pra universidade só a nivel de curiosidade.

cara, não deu pra entender bulhufas do que você precisa

Rodrigo_Sasaki

Eu até tentei… mas também não entendi nada.

Marcello360

resumindo tudo eh fazer um ArrayList que tenha associado a cada posição do array uma pergunta com suas devidas opções. eh basicamente isso. eu estava com sono por isso nao saiu nada que se aproveite na pergunta kkkkkkkkkkkkkkk.

Rodrigo_Sasaki
você quer fazer algo assim?
List<Pergunta> perguntas = new ArrayList<Pergunta>();
Sendo que a classe pergunta seria algo mais ou menos assim:
class Pergunta{

    private String pergunta;

    private List<Opcao> opcoes;

}
?
Marcello360

fiz assim:

Perguntas per = new Perguntas().pergunta1();

Perguntas per2 = new Perguntas().pergunta2();
 
Perguntas per3 = new Perguntas().pergunta3();
 
Perguntas per4 = new Perguntas().pergunta4();

ArrayList  <Perguntas> p= new ArrayList <Perguntas> ();
p.add(per);
p.add(per2);
p.add(per3);
p.add(per4);

Collections.shuffle(p);
p.get(0);

quando chamo todos os metodos associados aparecem na aplicação.

Rodrigo_Sasaki

Ainda não entendi o problema.

Marcello360

Olha se com os métodos resolve…

Perguntas pergunta1(){
		Fase1.pergunta1.setVisible(false);
		Fase1.rad12.setVisible(false);
		Fase1.rad13.setVisible(false);
		Fase1.ok.setVisible(false);
		Fase1.rad11.setVisible(false);
	   lab = new JLabel("LAB0");
	   lab.setBounds(15,100,180,20);
	   Fase1.perg.add(lab);
	return null;
	}
	
	Perguntas  pergunta2(){
		Fase1.pergunta1.setVisible(false);
		Fase1.rad12.setVisible(false);
		Fase1.rad13.setVisible(false);
		Fase1.ok.setVisible(false);
		Fase1.rad11.setVisible(false);
		   lab2 = new JLabel("LAB1");
		   lab2.setBounds(15,150,180,20);
		   Fase1.perg.add(lab2);
		   return null;
		}
	
	Perguntas pergunta3(){
		Fase1.pergunta1.setVisible(false);
		Fase1.rad12.setVisible(false);
		Fase1.rad13.setVisible(false);
		Fase1.ok.setVisible(false);
		Fase1.rad11.setVisible(false);
		   lab3 = new JLabel("LAB2");
		   lab3.setBounds(15,200,180,20);
		  Fase1.perg.add(lab3);
		  return null;
		}
	
	Perguntas pergunta4(){
		Fase1.pergunta1.setVisible(false);
		Fase1.rad12.setVisible(false);
		Fase1.rad13.setVisible(false);
		Fase1.ok.setVisible(false);
		Fase1.rad11.setVisible(false);
		   lab4 = new JLabel("LAB3");
		   lab4.setBounds(15,250,180,20);
		   Fase1.perg.add(lab4);
		   return null;
		}
Rodrigo_Sasaki

Não é isso que você já tem aí ?

Marcello360

pois eh… mas o problema eh q em vez de aparecer somente um aleatório aparece todos…

Rodrigo_Sasaki

Ah, entendi, seu problema é com a interface.

Então vou deixar alguém mais experiente te ajudar :slight_smile: Porque não entendo quase nada de interface desktop

Marcello360

certo. vlw por tudo.

Criado 19 de outubro de 2012
Ultima resposta 20 de out. de 2012
Respostas 11
Participantes 3