AIMA.Core.Environment.NQueens.NQueensBoard.numberOfDiagonalAttacksOn C# (CSharp) Method

numberOfDiagonalAttacksOn() private method

private numberOfDiagonalAttacksOn ( int x, int y ) : int
x int
y int
return int
        private int numberOfDiagonalAttacksOn(int x, int y)
        {
            int retVal = 0;
            int i;
            int j;
            // forward up diagonal
            for (i = (x + 1), j = (y - 1); (i < size && (j > -1)); i++, j--)
            {
                if (queenExistsAt(i, j))
                    retVal++;
            }
            // forward down diagonal
            for (i = (x + 1), j = (y + 1); ((i < size) && (j < size)); i++, j++)
            {
                if (queenExistsAt(i, j))
                    retVal++;
            }
            // backward up diagonal
            for (i = (x - 1), j = (y - 1); ((i > -1) && (j > -1)); i--, j--)
            {
                if (queenExistsAt(i, j))
                    retVal++;
            }

            // backward down diagonal
            for (i = (x - 1), j = (y + 1); ((i > -1) && (j < size)); i--, j++)
            {
                if (queenExistsAt(i, j))
                    retVal++;
            }

            return retVal;
        }