AIMA.Core.Environment.NQueens.NQueensFunctionFactory.NQIActionsFunction.actions C# (CSharp) Method

actions() public method

public actions ( Object state ) : HashSet
state Object
return HashSet
            public HashSet<Action> actions(Object state)
            {
                NQueensBoard board = (NQueensBoard)state;

                HashSet<Action> actions = new LinkedHashSet<Action>();

                int numQueens = board.getNumberOfQueensOnBoard();
                int boardSize = board.getSize();
                for (int i = 0; i < boardSize; i++)
                {
                    XYLocation newLocation = new XYLocation(numQueens, i);
                    if (!(board.isSquareUnderAttack(newLocation)))
                    {
                        actions.Add(new QueenAction(QueenAction.PLACE_QUEEN,
                                newLocation));
                    }
                }

                return actions;
            }
        }
NQueensFunctionFactory.NQIActionsFunction