本文整理汇总了C++中node::can_move_left方法的典型用法代码示例。如果您正苦于以下问题:C++ node::can_move_left方法的具体用法?C++ node::can_move_left怎么用?C++ node::can_move_left使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类node
的用法示例。
在下文中一共展示了node::can_move_left方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: expand
/*expand(node input) this function takes a node and it expands it, by
*that we mean that it finds where the zero element is and then
*it tries to see if it can move up, down, left and right. If so
*then it adds all these nodes into the templist list.
*/
void Astar::expand(node &input){
cout << "We are in the expanding function. " << endl;
node tempn;
list<node> templist;
input.find_zero();
if ( input.can_move_up() ){
tempn = input;
tempn.move_up();
tempn.inc_g();
tempn.create_state(goal);
templist.push_back(tempn);}
if ( input.can_move_right() ){
tempn = input;
tempn.move_right();
tempn.inc_g();
tempn.create_state(goal);
templist.push_back(tempn);}
if ( input.can_move_bottom() ){
tempn = input;
tempn.move_bottom();
tempn.inc_g();
tempn.create_state(goal);
templist.push_back(tempn);}
if ( input.can_move_left() ){
tempn = input;
tempn.move_left();
tempn.inc_g();
tempn.create_state(goal);
templist.push_back(tempn);}
//let's print the templist elements
print_list(templist,"Temporary");
//let's add the nodes we just created into the openlist
add_expanded(templist,input);
// add_expanded(tempq,input);}
}