Esempio n. 1
0
        public ArrayList getSuccessors(Object state)
        {
            ArrayList    successors = new ArrayList();
            NQueensBoard board      = (NQueensBoard)state;
            int          numQueens  = board.getNumberOfQueensOnBoard();
            int          boardSize  = board.getSize();

            for (int i = 0; i < boardSize; i++)
            {
                if (!(board.isSquareUnderAttack(new XYLocation(numQueens, i))))
                {
                    NQueensBoard child = placeQueenAt(numQueens, i, board);
                    successors.Add(new Successor("placeQueenAt " + numQueens + "  "
                                                 + i, child));
                }
            }

            return(successors);
        }