_goal = goal;
_start = new StartNode(_init);
_finish = new EndNode(_goal);
+ addNode(_start);
for(vector<Action>::iterator action = actions.begin(); action != actions.end(); ++action){
const Literals& effects = action->effects(0);
for (Literals::const_iterator effect = effects.begin(); effect != effects.end(); ++effect){
- cerr << "Adding effect: " << *effect << endl;
+ cerr << "Adding effect: '" << *effect << "', action: " << action->name() << endl;
_actions[*effect] = *action;
}
}
+ cout << "Number of actions: " << _actions.size() << endl;
makePlan(_finish);
}
_start->addChild(node);
}else{
for (Preconditions::const_iterator precond = preconds.begin(); precond != preconds.end(); ++precond){
- cerr << "Looking for: " << precond->first << endl;
+ cerr << "Looking for: '" << precond->first << "'" << endl;
hash_map<string,Node*>::iterator addedNode = _addedNodes.find(precond->first);
if(addedNode != _addedNodes.end()){
cerr << "Using already added node" << endl;
}
void Planner::addNode(Node* node){
+ cerr << "Adding node for action: " << node->action().name() << endl;
const Literals& effects = node->action().effects(0);
+ cerr << "Number of effects: " << effects.size() << endl;
for (Literals::const_iterator effect = effects.begin(); effect != effects.end(); ++effect){
cout << "Adding node for effect: " << *effect << endl;