本文整理汇总了C++中ListIter::GetRandomUnit方法的典型用法代码示例。如果您正苦于以下问题:C++ ListIter::GetRandomUnit方法的具体用法?C++ ListIter::GetRandomUnit怎么用?C++ ListIter::GetRandomUnit使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ListIter
的用法示例。
在下文中一共展示了ListIter::GetRandomUnit方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: rand
CombatUnit*
CombatGroup::GetRandomUnit()
{
CombatUnit* result = 0;
List<CombatUnit> live;
ListIter<CombatUnit> unit = units;
while (++unit) {
if (unit->Count() - unit->DeadCount() > 0)
live.append(unit.value());
}
if (live.size() > 0) {
int ntries = 5;
while (!result && ntries-- > 0) {
int index = rand() % live.size();
result = live[index];
int ship_class = result->GetShipClass();
if (ship_class >= Ship::CRUISER &&
ship_class <= Ship::FARCASTER)
result = 0;
}
}
if (!result) {
ListIter<CombatGroup> comp = components;
while (++comp && !result) {
CombatUnit* u = comp->GetRandomUnit();
if (u)
result = u;
}
}
return result;
}