AIMA.Core.Environment.EightPuzzle.ManhattanHeuristicFunction.evaluateManhattanDistanceOf C# (CSharp) Method

evaluateManhattanDistanceOf() public method

public evaluateManhattanDistanceOf ( int i, XYLocation loc ) : int
i int
loc AIMA.Core.Util.DataStructure.XYLocation
return int
        public int evaluateManhattanDistanceOf(int i, XYLocation loc)
        {
            int retVal = -1;
            int xpos = loc.getXCoOrdinate();
            int ypos = loc.getYCoOrdinate();
            switch (i)
            {

                case 1:
                    retVal = Math.abs(xpos - 0) + Math.abs(ypos - 1);
                    break;
                case 2:
                    retVal = Math.abs(xpos - 0) + Math.abs(ypos - 2);
                    break;
                case 3:
                    retVal = Math.abs(xpos - 1) + Math.abs(ypos - 0);
                    break;
                case 4:
                    retVal = Math.abs(xpos - 1) + Math.abs(ypos - 1);
                    break;
                case 5:
                    retVal = Math.abs(xpos - 1) + Math.abs(ypos - 2);
                    break;
                case 6:
                    retVal = Math.abs(xpos - 2) + Math.abs(ypos - 0);
                    break;
                case 7:
                    retVal = Math.abs(xpos - 2) + Math.abs(ypos - 1);
                    break;
                case 8:
                    retVal = Math.abs(xpos - 2) + Math.abs(ypos - 2);
                    break;

            }
            return retVal;
        }
    }
ManhattanHeuristicFunction