本文整理汇总了C++中Array::GetRandomElement方法的典型用法代码示例。如果您正苦于以下问题:C++ Array::GetRandomElement方法的具体用法?C++ Array::GetRandomElement怎么用?C++ Array::GetRandomElement使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Array
的用法示例。
在下文中一共展示了Array::GetRandomElement方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AttachToUser
void Bot::AttachToUser (void)
{
// SyPB Pro P.29 - small change
if (GetGameMod () != 0)
return;
/*
// SyPB Pro P.15
if (!FNullEnt (m_moveTargetEntity))
return;
*/
// this function forces bot to join to user
Array <edict_t *> foundUsers;
// search friends near us
for (int i = 0; i < engine->GetMaxClients (); i++)
{
if (!(g_clients[i].flags & CFLAG_USED) || !(g_clients[i].flags & CFLAG_ALIVE) || g_clients[i].team != GetTeam (GetEntity ()) || g_clients[i].ent == GetEntity ())
continue;
if (EntityIsVisible (g_clients[i].origin) && !IsValidBot (g_clients[i].ent))
foundUsers.Push (g_clients[i].ent);
}
if (foundUsers.IsEmpty ())
return;
m_targetEntity = foundUsers.GetRandomElement ();
ChatterMessage (Chatter_LeadOnSir);
PushTask (TASK_FOLLOWUSER, TASKPRI_FOLLOWUSER, -1, 0.0, true);
}
示例2:
Bot *BotControl::FindOneValidAliveBot (void)
{
// this function finds one bot, alive bot :)
Array <int> foundBots;
for (int i = 0; i < engine->GetMaxClients (); i++)
{
if (m_bots[i] != null && IsAlive (m_bots[i]->GetEntity ()))
foundBots.Push (i);
}
if (!foundBots.IsEmpty ())
return m_bots[foundBots.GetRandomElement ()];
return null;
}