public void mouseClicked(MouseEvent me)
	{
		IsAnyMove(); // checkea si hay mas movimientos!
		if(!this.canClick)
		{
			return;
		}

		//No se ha seleccionado nada previamente
		if(this.firstClickedBlock == null)
		{
			//Le pongo un highlight al bloque y lo guardo
			this.firstClickedBlock = (Bloque) me.getSource();
			this.firstClickedBlock.setBorder(BorderFactory.createLineBorder(Color.MAGENTA,2,true));

		}
		else if(this.firstClickedBlock == (Bloque) me.getSource())
		{
			this.firstClickedBlock.setBorder(BorderFactory.createLineBorder(Color.BLACK,1,true));
			this.firstClickedBlock = null;
		}
		else
		{
			this.canClick = false;
			//Reinicio el borde
			this.firstClickedBlock.setBorder(BorderFactory.createLineBorder(Color.BLACK,1,true));
			Bloque bloque1, bloque2;
			bloque1 = this.firstClickedBlock;
			bloque2 = (Bloque) me.getSource();
			this.secondClickedBlock = bloque2;
			//Es el movimiento valido?
			int x = bloque1.x;
			int y = bloque1.y;
			int v = bloque2.x;
			int w = bloque2.y;
			if( (x != v || ( (y-w) != 1 && (w-y) != 1)) 
			&& 	(y != w || ( (x-v) != 1 && (v-x) != 1)) )
			{
				this.firstClickedBlock = null;
				this.canClick = true;
				this.score_panel.add(new JLabel("Invalid move"));
				return;
			} 


			//Swap blocks
			//No es posible intercambiar fisicamente dos JPanel
			//por lo que les intercambiare su color, el background
			//las coordenadas internas y externas en la lista

			//temp <--- bloque1
			Color temp_background = bloque1.getBackground();
			String temp_color = bloque1.getColor();
			HabilityBehavior temp_hability = bloque1.habilidad;

			//bloque1 <---- bloque2
			bloque1.setBackground(bloque2.getBackground());
			bloque1.setColor(bloque2.getColor());
			bloque1.habilidad = bloque2.habilidad;

			//bloque2 <----- bloque 1
			bloque2.setBackground(temp_background);
			bloque2.setColor(temp_color);
			bloque2.habilidad = temp_hability;

			//Chequeo el swap luego de 700ms (modificable)
			this.canClick = false;
			new java.util.Timer().schedule( 
	        new java.util.TimerTask(){
	            @Override
	            public void run() {
	                checkSwap();
	            }
	        }, 
	        700);
		}
	}