当前位置: 首页>>代码示例>>C++>>正文


C++ aithread::saveDebug方法代码示例

本文整理汇总了C++中aithread::saveDebug方法的典型用法代码示例。如果您正苦于以下问题:C++ aithread::saveDebug方法的具体用法?C++ aithread::saveDebug怎么用?C++ aithread::saveDebug使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在aithread的用法示例。


在下文中一共展示了aithread::saveDebug方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: execute

bool Debug::execute(aithread &thread) const
{
  // Perform independant behaviours
  if ( this->getOpcode() == AISCRIPT::Enum::FATAL_ERROR )
  {
    // Message
    Broodwar->sendText("Illegal AI script executed.");

    // Debug
    thread.saveDebug(Text::Green, this->getOpcode());
    
    // Kill the script
    thread.killThread();
    thread.noretry();
    return false;
  }
  else if ( this->getOpcode() == AISCRIPT::Enum::DEBUG )
  {
    // Read parameters
    WORD wJump;
    thread.readTuple( std::tie( wJump) );

    // Send the message
    Broodwar->sendText("%s", &pbAIScriptBinary[thread.getScriptOffset()] );

    // Jump to offset
    thread.setScriptOffset(wJump);
    thread.saveDebug(Text::Green, this->getOpcode(), "p_%X %s", wJump, &pbAIScriptBinary[thread.getScriptOffset()]);
  }
  return true;
}
开发者ID:AdamKotynia,项目名称:bwapi,代码行数:31,代码来源:Debug.cpp

示例2: execute

bool Capt_Expand::execute(aithread &thread) const
{

  // Save debug info and return
  thread.saveDebug(Text::Red, this->getOpcode());
  return true;
}
开发者ID:AdamKotynia,项目名称:bwapi,代码行数:7,代码来源:Capt_Expand.cpp

示例3: execute

bool Enter_Transport::execute(aithread &thread) const
{
  if ( this->getOpcode() == AISCRIPT::Enum::ENTER_BUNKER || this->getOpcode() == AISCRIPT::Enum::ENTER_TRANSPORT )
  {
    Unitset unitsForTrans( Broodwar->getUnitsInRectangle(thread.getLocation().topLeft, thread.getLocation().bottomRight, 
                            this->getOpcode() == AISCRIPT::Enum::ENTER_BUNKER ? bunkerProc : transProc) );
  
    // Iterate the units that are to enter the bunkers
    for ( auto u : unitsForTrans )
    {
      // Find a bunker closest to the current unit that has space available
      Unit pClosest = u->getClosestUnit( (this->getOpcode() == AISCRIPT::Enum::ENTER_BUNKER ? GetType == UnitTypes::Terran_Bunker : GetType != UnitTypes::Terran_Bunker) &&
                                            IsTransport &&
                                            GetPlayer == Broodwar->self() && 
                                            SpaceRemaining >= u->getType().spaceRequired() );

      if ( pClosest )  // If a bunker was found
        u->rightClick(pClosest);
    }
  }
  else if ( this->getOpcode() == AISCRIPT::Enum::EXIT_TRANSPORT )
  {
    // Normally we are supposed to check the type here, but we don't need to save processing time and can let BWAPI sort it out
    Broodwar->getUnitsInRectangle(thread.getLocation().topLeft, thread.getLocation().bottomRight).unloadAll();
  }

  // Debug and return
  thread.saveDebug(Text::Green, this->getOpcode());
  return true;
}
开发者ID:dansgithubuser,项目名称:ninepool,代码行数:30,代码来源:Enter_Transport.cpp

示例4: execute

bool Killable::execute(aithread &thread) const
{
  thread.setFlags(AI_THREAD_KILLABLE);

  // Save debug info and return
  thread.saveDebug(Text::Green, this->getOpcode());
  return true;
}
开发者ID:AdamKotynia,项目名称:bwapi,代码行数:8,代码来源:Killable.cpp

示例5: execute

bool Target_Expansion::execute(aithread &thread) const
{
  // Set campaign flag
  MainController.setFlags(CONTROLLER_TARGET_EXPANSION);

  // Save debug info and return
  thread.saveDebug(Text::Green, this->getOpcode());
  return true;
}
开发者ID:AdamKotynia,项目名称:bwapi,代码行数:9,代码来源:Target_Expansion.cpp

示例6: execute

bool Start_Campaign::execute(aithread &thread) const
{
  // Set campaign flag
  MainController.setFlags(CONTROLLER_IS_CAMPAIGN);

  // Save debug info and return
  thread.saveDebug(Text::Green, this->getOpcode());
  return true;
}
开发者ID:AdamKotynia,项目名称:bwapi,代码行数:9,代码来源:Start_Campaign.cpp

示例7: execute

bool Check_Transports::execute(aithread &thread) const
{
  if ( this->getOpcode() == AISCRIPT::Enum::TRANSPORTS_OFF )  // off
    MainController.setFlags(CONTROLLER_TRANSPORTS_OFF);
  else                                                          // on
    MainController.clearFlags(CONTROLLER_TRANSPORTS_OFF);
  
  // Debug and return
  thread.saveDebug(Text::Green, this->getOpcode());
  return true;
}
开发者ID:dansgithubuser,项目名称:ninepool,代码行数:11,代码来源:Check_Transports.cpp

示例8: execute

bool Default_Build::execute(aithread &thread) const
{
  if ( this->getOpcode() == AISCRIPT::Enum::DEFAULTBUILD_OFF )  // off
    MainController.setFlags(CONTROLLER_DEFAULT_BUILD_OFF);
  else                                                          // on
    MainController.clearFlags(CONTROLLER_DEFAULT_BUILD_OFF);
  
  // Debug and return
  thread.saveDebug(Text::Green, this->getOpcode());
  return true;
}
开发者ID:dansgithubuser,项目名称:ninepool,代码行数:11,代码来源:Default_Build.cpp

示例9: execute

bool Farms_Timing::execute(aithread &thread) const
{
  if ( this->getOpcode() == AISCRIPT::Enum::FARMS_NOTIMING )  // off
    MainController.setFlags(CONTROLLER_FARMS_TIMING_OFF);
  else                                                          // on
    MainController.clearFlags(CONTROLLER_FARMS_TIMING_OFF);
  
  // Debug and return
  thread.saveDebug(Text::Green, this->getOpcode());
  return true;
}
开发者ID:AdamKotynia,项目名称:bwapi,代码行数:11,代码来源:Farms_Timing.cpp

示例10: execute

bool Harass_Factor::execute(aithread &thread) const
{
  // Parameters
  WORD wUnknown;
  thread.readTuple( std::tie( wUnknown ) );

  // HarassFactor(wUnk);

  // Save debug info and return
  thread.saveDebug(Text::Red, this->getOpcode(), "%u", wUnknown);
  return true;
}
开发者ID:dansgithubuser,项目名称:ninepool,代码行数:12,代码来源:Harass_Factor.cpp

示例11: execute

bool Wait_Upgrades::execute(aithread &thread) const
{
  // Debug
  thread.saveDebug(Text::Green, this->getOpcode());

  // If upgrades are finished, then move on to next opcode
  if ( MainController.getFlags() & CONTROLLER_UPGRADES_FINISHED )
    return thread.noretry();
  
  // Otherwise retry this opcode
  return thread.retry();
}
开发者ID:dansgithubuser,项目名称:ninepool,代码行数:12,代码来源:Wait_Upgrades.cpp

示例12: execute

bool Kill_Thread::execute(aithread &thread) const
{
  for ( auto i = aiThreadList.begin(); i != aiThreadList.end(); ++i )
  {
    if ( i->getFlags() & AI_THREAD_KILLABLE )
      i->killThread();
  }

  // Save debug info and return
  thread.saveDebug(Text::Green, this->getOpcode());
  return true;
}
开发者ID:AdamKotynia,项目名称:bwapi,代码行数:12,代码来源:Kill_Thread.cpp

示例13: execute

bool Wait_FinishAttack::execute(aithread &thread) const
{
  // Debug
  thread.saveDebug(Text::Red, this->getOpcode());

  // Check if AI is attacking
  // if ( AIIsAttacking )
  {
    return thread.noretry();
  }
  return thread.retry();
}
开发者ID:AdamKotynia,项目名称:bwapi,代码行数:12,代码来源:Wait_FinishAttack.cpp

示例14: execute

bool Nuke_Rate::execute(aithread &thread) const
{
  // Parameters
  BYTE bNukeRate;
  thread.readTuple( std::tie( bNukeRate ) );

  // Assign to controller
  MainController.bNukeRate = bNukeRate;

  // Save debug info and return
  thread.saveDebug(Text::Green, this->getOpcode());
  return true;
}
开发者ID:AdamKotynia,项目名称:bwapi,代码行数:13,代码来源:Nuke_Rate.cpp

示例15: execute

bool Allies_Watch::execute(aithread &thread) const
{
  // Params
  BYTE bExpansionId;
  WORD wBlock;
  thread.readTuple( std::tie(bExpansionId, wBlock) );
  
  // @TODO

  // Save debug info and return
  thread.saveDebug(Text::Red, this->getOpcode(), "%u %04X", bExpansionId, wBlock);
  return true;
}
开发者ID:AdamKotynia,项目名称:bwapi,代码行数:13,代码来源:Allies_Watch.cpp


注:本文中的aithread::saveDebug方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。