¿ØÖƽṹ
¿ØÖƽṹ¾öÒéÁ˳ÌÐòµÄÖ´ÐÐÁ÷³Ì£¬C++ÌṩÁ˶àÖÖ¿ØÖƽṹÀ´ÊµÏÖÖØ´óµÄÂß¼¡£
Ìõ¼þÓï¾ä£ºifÓï¾äºÍswitchÓï¾äÓÃÓÚÆ¾Ö¤Ìõ¼þÖ´Ðвî±ðµÄ´úÂë¿é¡£ÀýÈ磺inta=10;if(a>0){std::cout<<"aÊÇÕýÊý"<
ÀýÈ磺for(inti=0;i<5;++i){std::cout<<"Ñ»·´ÎÊý:"<
ÌáÉýQEMUÐÔÄÜ
µ÷½âÐéÄâ»úÉèÖãºÆ¾Ö¤×°±¸µÄÓ²¼þÉèÖ㬺ÏÀíµ÷½âQEMUµÄÄÚ´æ¡¢CPUºÍ´æ´¢ÉèÖã¬ÒÔ»ñµÃ×î¼ÑÐÔÄÜ¡£
ʹÓÃÓÅ»¯µÄLinux¿¯Ðа棺ѡÔñÇáÁ¿¼¶µÄLinux¿¯Ðа棬ÒÔïÔÌϵͳ×ÊÔ´Õ¼Óã¬ÌáÉýÕûÌåÔËÐÐËÙÂÊ¡£
ÆôÓÃÐÔÄÜÓÅ»¯Ñ¡ÏÔÚQEMUÖÐÆôÓÃÐÔÄÜÓÅ»¯Ñ¡ÏÀýÈçÆôÓÃCPUÐéÄ⻯ÊÖÒÕ£¬ÒÔ»ñµÃ¸ü¸ßµÄÔËÐÐЧÂÊ¡£
¹¹½¨ÖØ´óÂß¼
ʹÓÃComposite½ÚµãºÍ¿ØÖƽڵ㣬¹¹½¨¸üÖØ´óµÄÂß¼¡£ÀýÈ磬ʹÓÃSelector½Úµã¿ÉÒÔʵÏÖ¶à¸öʹÃüµÄÑ¡ÔñÂß¼£º
autoselector=bt::Selector::Create("TaskSelector");selector->AddChild(moveTask);selector->AddChild(anotherTask);root->AddChild(selector);
ʾÀý£ºÎï×ÊÔËÊäʹÃü
ÔÚÒ»¸öÎï×ÊÔËÊäʹÃüÖУ¬¶ą̀»úеÈËÐèÒªÐͬÊÂÇ飬½«Îï×Ê´ÓÒ»¸öÆðµãÔËÊäµ½¶à¸öÄ¿µÄµØ¡£Ã¿¸ö»úеÈ˶¼ÓÐ×Ô¼ºµÄÐÐΪÊ÷£¬µ«ÐèÒª¹²ÏíÎï×ÊλÖúÍÄ¿µÄµØÐÅÏ¢£¬´Ó¶ø¶¯Ì¬µ÷½âÔËÊä·¾¶ºÍʹÃü·ÖÅÉ¡£
autoloadGoods=bt::ActionNode::Create("LoadGoods",(bt::Context&context){//×°ÔØÎï×ÊÂß¼returnbt::NodeStatus::SUCCESS;});autotransportToDestination=bt::ActionNode::Create("TransportToDestination",(bt::Context&context){//ÔËÊäÎï×ÊÂß¼returnbt::NodeStatus::SUCCESS;});autorobotTransportTree=bt::Sequence::Create("RobotTransportTree");robotTransportTree->AddChild(loadGoods);robotTransportTree->AddChild(transportToDestination);//·ÖÅÉÐÐΪÊ÷¸ø²î±ð»úеÈËfor(auto&robot:robots){robot->AddChild(robotTransportTree);}
У¶Ô£ººúÊæÁ¢(f3J1ePQDlzHhwh44q38w4Ima2E3XrDq)



