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


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

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


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

示例3: 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

示例4: execute

bool Wait_Train::execute(aithread &thread) const
{
  // Parameters
  BYTE bCount;
  WORD wUnitType;
  thread.readTuple( std::tie(bCount, wUnitType) );

  // Debug
  thread.saveDebug(Text::Green, this->getOpcode(), "%u %s", bCount, AISCRIPT::getUnitName(wUnitType) );

  // Perform actions
  if ( GetStandardUnitCount(wUnitType) < bCount )
    return thread.retry();
  return thread.noretry();
}
开发者ID:AdamKotynia,项目名称:bwapi,代码行数:15,代码来源:Wait_Train.cpp

示例5: execute

bool Return::execute(aithread &thread) const
{
  thread.saveDebug(Text::Green, this->getOpcode());
  bool result = thread.ret();
  
  // Error handling, kill the script if the callstack is empty
  if ( !result )
  {
    thread.killThread();
    thread.noretry();
    return false;
  }

  // Success
  return true;
}
开发者ID:dansgithubuser,项目名称:ninepool,代码行数:16,代码来源:Return.cpp

示例6: execute

bool Train::execute(aithread &thread) const
{
  // Parameters
  BYTE bCount;
  WORD wUnitType;
  thread.readTuple( std::tie(bCount, wUnitType) );

  // Debug
  thread.saveDebug(Text::Green, this->getOpcode(), "%u %s", bCount, AISCRIPT::getUnitName(wUnitType) );

  // Perform actions
  if ( GetStandardUnitCount(wUnitType, this->getOpcode() != AISCRIPT::Enum::TRAIN) < bCount )
  {
    MainController.wWaitForType = (int)wUnitType + 1;
    if ( this->getOpcode() != AISCRIPT::Enum::DO_MORPH )
      return thread.retry();
  }
  return thread.noretry();
}
开发者ID:AdamKotynia,项目名称:bwapi,代码行数:19,代码来源:Train.cpp


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