void DecisionTree::setAntTreeAfraid(){ DecisionTreeNode defaultNode; m_rootNode = new DecisionTreeNode(1, &defaultNode, "root -> State:VIEW"); DecisionTreeNode* lView = new DecisionTreeNode(2, &defaultNode, "lView -> T:HOME"); DecisionTreeNode* rView = new DecisionTreeNode(3, &defaultNode, "rView -> State:HUNGER"); DecisionTreeNode* lHunger = new DecisionTreeNode(4, &defaultNode, "lHunger -> T:FOOD"); DecisionTreeNode* rHunger = new DecisionTreeNode(5, &defaultNode, "rHunger -> T:HOME"); m_rootNode->setStateID(States::VIEW); m_rootNode->setLeftNode(lView); lView->setCondition(true); lView->setLeaf(true); lView->setTarget(TreeOutput::HOME); m_rootNode->setRightNode(rView); rView->setCondition(false); rView->setStateID(States::HUNGER); rView->setLeftNode(lHunger); lHunger->setCondition(true); lHunger->setLeaf(true); lHunger->setTarget(TreeOutput::FOOD); rView->setRightNode(rHunger); rHunger->setCondition(false); rHunger->setLeaf(true); rHunger->setTarget(TreeOutput::HOME); m_currentNode = m_rootNode; }
void DecisionTree::setAntTreeAggressiv(){ DecisionTreeNode defaultNode; m_rootNode = new DecisionTreeNode(1, &defaultNode); DecisionTreeNode* lView = new DecisionTreeNode(2, &defaultNode); DecisionTreeNode* rView = new DecisionTreeNode(3, &defaultNode); DecisionTreeNode* lHunger = new DecisionTreeNode(4, &defaultNode); DecisionTreeNode* rHunger = new DecisionTreeNode(5, &defaultNode); m_rootNode->setStateID(States::VIEW); m_rootNode->setLeftNode(lView); lView->setCondition(true); lView->setLeaf(true); lView->setTarget(TreeOutput::PLAYER); m_rootNode->setRightNode(rView); rView->setCondition(false); rView->setStateID(States::HUNGER); rView->setLeftNode(lHunger); lHunger->setCondition(true); lHunger->setLeaf(true); lHunger->setTarget(TreeOutput::FOOD); rView->setRightNode(rHunger); rHunger->setCondition(false); rHunger->setLeaf(true); rHunger->setTarget(TreeOutput::PATROL); m_currentNode = m_rootNode; }