eu tenho uma jtable onde o usuário determina o inicio e o fim ai um robo chamado "R" caminha do inicio para o fim selecionando um caminho aleatório até chegar o fim e termina no jogo, toda vez q ele passa por uma célula ele pinta ela de vermelha tornando o vermelho mais escuro conforme vai passando pela cécula mais de uma vez ....isso controlado por uma matriz.... a questão eh quando o código eh executado eu queria que ele mostrasse passo a passo o robo andando pq do jeito q está ele vai de uma vez..... segue o código do botão que inicia a movimentação do robô..
private void iniciarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO adicione seu c�digo de manipula��o aqui:
int celulas[][] = null,i=0,j=0,regra_invalida=0;
celulas= new int[10][10];
for(i=0;i<10;i++){
for(j=0;j<10;j++){
celulas[i][j]=0; ///zera a tabela das celulas
}
}
pintar renderer = new pintar();
tabela.setDefaultRenderer(Object.class, renderer); // <======== define o renderer
int regra=0;
if(estado==3){
iniciar.setEnabled(false);
while((linha_inicial!=linha_final)||(coluna_inicial!=coluna_final)){
regra=1+(int)(Math.random()*8);
tabela.setValueAt("",linha_inicial,coluna_inicial);
switch(regra){
case 1:
if((linha_inicial>0)&&(coluna_inicial>0)){
linha_inicial--;
coluna_inicial--;
}
else
regra_invalida=1;
break;
case 2:
if(linha_inicial>0)
{
linha_inicial--;
}
else
regra_invalida=1;
break;
case 3:
if((linha_inicial>0)&&(coluna_inicial<9)){
linha_inicial--;
coluna_inicial++;
}
else
regra_invalida=1;
break;
case 4:
if(coluna_inicial<9){
coluna_inicial++;
}
else
regra_invalida=1;
break;
case 5:
if((linha_inicial<9)&&(coluna_inicial<9)){
linha_inicial++;
coluna_inicial++;
}
else
regra_invalida=1;
break;
case 6:
if(linha_inicial<9){
linha_inicial++;
}
else
regra_invalida=1;
break;
case 7:
if((linha_inicial<9)&&(coluna_inicial>0)){
linha_inicial++;
coluna_inicial--;
}
else
regra_invalida=1;
break;
case 8:
if(coluna_inicial>0){
coluna_inicial--;
}
else
regra_invalida=1;
break;
default:
break;
}
if(regra_invalida==0)//se regra_invalida for 0 sera feita a movimentaçao se nao nao sera feito nada
{
tabela.setValueAt("R",linha_inicial,coluna_inicial);
celulas[linha_inicial][coluna_inicial]=celulas[linha_inicial][coluna_inicial] + 2 ;
f =(float)celulas[linha_inicial][coluna_inicial];
f = f*Float.parseFloat("0.02");
f = 1 - f;
[b]renderer.colorirCelula(linha_inicial,coluna_inicial, Color.getHSBColor(1,1,f)); =====>pinta a célula[/b]
movimentos++;
}
else
regra_invalida=0;
}
tabela.setValueAt("INICIO",linha_I,coluna_I);
if(linha_inicial==linha_final&&coluna_inicial==coluna_final)
JOptionPane.showMessageDialog(null,"Jogo Terminado! Foram feitos "+movimentos+" movimentos.");
else
JOptionPane.showMessageDialog(null,"Ta não terminado!");
JOptionPane.showMessageDialog(null,"inicio:"+linha_I+","+coluna_I+".");
JOptionPane.showMessageDialog(null,"fim:"+linha_final+","+coluna_final+".");
estado=4;