This commit is contained in:
aozhiwei 2023-04-05 21:01:18 +08:00
parent 7f67438290
commit 1ceda647fe
2 changed files with 16 additions and 0 deletions

View File

@ -47,6 +47,21 @@ Human* Team::GetOneAliveMember(Human* exclude_hum)
return nullptr;
}
Human* Team::RandomOneAliveMember(Human* exclude_hum)
{
std::vector<Human*> humans;
for (Human* member : members_) {
if (member != exclude_hum && !member->dead) {
humans.push_back(member);
}
}
if (!humans.empty()) {
std::random_shuffle(humans.begin(), humans.end());
return humans.at(0);
}
return nullptr;
}
bool Team::HasAliveMember()
{
for (Human* member : members_) {

View File

@ -31,6 +31,7 @@ class Team
size_t GetMemberNum() { return members_.size(); }
void GetOveredHumans(std::set<Human*>& overed_humans);
Human* GetOneAliveMember(Human* exclude_hum);
Human* RandomOneAliveMember(Human* exclude_hum);
bool HasAliveMember();
int GetAliveNum();
void AddMember(Human* member);