Pessoal, to fazendo aquele joguinho do campo minado, só que um pouco diferente, tenho um cara que vai desarmar todas as bombas, só que para isso, eu to fazendo a seguinte interface gráfica:
eu tenho um jPanel, onde eu coloco vários jSeparator até formar uma grade, não estou usando o jTabel já vou falar porque, dentro de cada quadro, coloco um jLabel que futuramente eu coloco um imagem nele, logo abaixo eu tenho mais 2 jLabels que eu coloco a imagem de uma bomba, e um obstáculo, daí eu clico na bomba e clico em cima do jLabel acima e “coloco” a bomba no quadro.
Só que para traçar o caminho que o cara vai andar para desarmar a bomba, eu to em dúvida para controlar, to querendo colocar uma matriz de inteiros é nela que eu vou fazer o controle de onde ele anda, só que, para cada jLabel pode haver até 6 imagens diferentes (seta para cima, trás, direita, esquerda, uma bomba, e obstáculo), vou postar logo abaixo um trecho do código, minha dúvida é se é viável continuar a desenvolver dessa forma, como é que vou controlar em qual jLabel tenho de colocar que imagem?
Por exemplo, enquanto ele estiver andando, pode colocar seta para cima, mas quando ele achar um obstáculo eu mudo a seta e começo a voltar, colocando seta para trás, lembrando que as setas aparecem somente em 1 quadro por vez, para dar a idéia que ele tá andando, o caminho é automático, o jogador, só coloca as bombas e torce para o cara achar todas
Aqui eu colocaria ou a bomba ou o obstáculo:
private void jL4MouseClicked(java.awt.event.MouseEvent evt) {
if(getbomba()){
jL4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/interfac/imagens/bomb.png")));
}
else if(getobstaculo()){
jL4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/interfac/imagens/cancel.png")));
}
}
Agora cada jLabel desse pode ter até 6 imagens, é viável continuar a programar isso?
[code]private void setbomba(boolean a){
bomba = a;
}
private void setobstaculo(boolean a){
obstaculo = a;
}
private boolean getbomba(){
return bomba;
}
private boolean getobstaculo(){
return obstaculo;
}[/code]