public double rate(EnhancedMove move) {
		int dropHeight = move.getBoard().dropHeight(move.getPiece(), move.getX());
		Point[] pos = move.getPiece().getBody();
		Board board = move.getBoard();
		
		int neighbors = 0;
		
		for(int i = 0; i < 4; i ++){
			int tarX = pos[i].x + move.getX();
			int tarY = pos[1].y + dropHeight;
			
			for(int x = tarX-1; x < tarX+2; x++){
				for(int y = tarY-1; y < tarY+2; y++){
					
					if(board.canPlace(move.piece, x, y))
						neighbors += board.getGrid(x, y) ? 1 : 0;
					else
						neighbors ++;
				}
			}
		}
		
		return weight * neighbors;
		
	}