本文整理汇总了C++中AStarNode::getState方法的典型用法代码示例。如果您正苦于以下问题:C++ AStarNode::getState方法的具体用法?C++ AStarNode::getState怎么用?C++ AStarNode::getState使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AStarNode
的用法示例。
在下文中一共展示了AStarNode::getState方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: nodeEqualsNode
bool AStarNode::nodeEqualsNode(AStarNode node) {
for(int i = 0; i < state.getDim(); i++)
for(int j = 0; j < state.getDim(); j++)
if(state.getData()[i][j] != node.getState().getData()[i][j])
return false;
return true;
}
示例2: SudokuGameEngine
vector<AStarNode> AStarNode::getChildNodesForNode(AStarNode node){
SudokuGameEngine engine = SudokuGameEngine();
vector<Action> actions = engine.getPossibleActionsForState(node.getState());
vector<AStarNode> children;
for (Action action : actions) {
children.push_back(AStarNode (node.getCorrectness(),
GameState (engine.takeActionForState(action, node.getState()))
, &action, &node));
}
for (AStarNode child : children) {
int correctness = 0;
for (Action action : actions)
if (action.getRow() == child.getAction().getRow() && action.getCol() == child.getAction().getCol())
correctness++;
child.setCorrectness(correctness + child.getPreviousNode().getCorrectness());
}
return children;
}