Mover-pieza

Tu podrías darme un ejemplo de como válido mover una pieza en vacío('&')tomando en cuenta que es el vacío dentro del tablero para mover una pieza a ese lugar siempre y cuando quepa
public class tabler extends Frame implements MouseListener{
char arreglo[][];
addMouseListener(this);
setSize(500,600);
try{
BufferedReader in=new
BufferedReader(new InputStreamReader(new FileInputStream("C:\\arc.txt")));
int filas=Integer.parseInt(in.readLine());
int columnas=Integer.parseInt(in.readLine());
arreglo=new char[filas][columnas];
for(int i=0;i < filas;i++){
for(int j=0;j < columnas;j++){
arreglo[ i ][ j ]=(char)(in.read());
}
}
in.close();
}catch(Exception e){}
}
//Redibuja el tablero, llamando al método paint().
public void update(Graphics g)
{
paint(g);
}
//Este metodo es el que se llama cada vez que la ventana necesite pintarse
public void paint(Graphics g){
//posX y posY se utilizan para ir cambiando la posición en la que se pintara el rectángulo
//ancho y alto son precisamente el ancho y alto del rectangulo
int posX,posY,ancho=25,alto=25;
Color col=null;
//Recorremos los elementos del arreglo
posY=0;
for(int i=0;i < arreglo.length;i++){
posX=0;
for(int j=0;j < arreglo[ i ].length; j++){
//Escogemos el color a pintar segun el caracter (&,#,etc.)
if(arreglo[ i ][ j ]=='*')col=Color.red;
else if(arreglo[ i ][ j ]=='a')col=Color.YELLOW;
else if(arreglo[ i ][ j ]=='b')col=Color.BLUE;
else if(arreglo[ i ][ j ]=='c')col=Color.CYAN;
else if(arreglo[ i ][ j ]=='d')col=Color.GREEN;
else if(arreglo[ i ][ j ]=='e')col=Color.DARK_GRAY;
else if(arreglo[ i ][ j ]=='f')col=Color.MAGENTA;
else if(arreglo[ i ][ j ]=='g')col=Color.ORANGE;
else if(arreglo[ i ][ j ]=='#')col=Color.GRAY;
else if(arreglo[ i ][ j ]=='-')col=Color.LIGHT_GRAY;
else if(arreglo[ i ][ j ]=='&')col=Color.BLACK;
else if(arreglo[ i ][ j ]=='·')col=Color.RED;
//Asignamos el color
g.setColor(col);
//Dibujamos el rectangulo
g.fillRect(posX,posY,ancho,alto);
posX+=ancho;
}
posY+=alto;
}
public void mouseExited(MouseEvent evt){
}
public void mouseEntered(MouseEvent evt){
}
public void mouseReleased(MouseEvent evt){
}
public void mousePressed(MouseEvent evt){
for(int i=0;i < arreglo.length;i++){
for(int j=0;j < arreglo[ i ].length; j++){
"NO SE SI VOY BIEN EN ESTA PARTE"
}
}
}
public void mouseClicked(MouseEvent evt){
}
public static void main(String arg[]){
tabler t=new tabler();
t.show();
t.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent evt){
System.exit(0);
}
});
t.setBackground(Color.black);
}
}

1 Respuesta

Respuesta
1
Hace mucho que no trabajo con el mouse listener, pero puedes capturar las coordenadas y verificar en que coordenadas estas y así movilizar la pieza que estés tocando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas