public List <CandidateState> getSuccessors()
        {
            List <string>         list       = this._actionsState.getAction();
            List <CandidateState> successors = new List <CandidateState>();

            foreach (string action in list)
            {
                ActionStateInterface state     = this._actionsState.doAction(action);
                CandidateState       successor = new CandidateState(state, this, action);
                this._ChildrenStates.Add(successor);
                successors.Add(successor);
            }
            return(successors);
        }
 public CandidateState(ActionStateInterface pActionState, CandidateState pParentCandidateStatus = null, string pCurrentAction = null)
 {
     this._actionsState      = pActionState;
     this._action            = pCurrentAction;
     this._parentActionState = pParentCandidateStatus;
 }
 public UninformedSearch(ActionStateInterface pInitialState, List <ActionStateInterface> pFinalState)
 {
     this._initialState = pInitialState;
     this._finalState   = pFinalState;
 }