我遇到以下问题:
我有4个对象。随机选择一个对象来执行某个操作。例如。如果对象1执行操作,则其他3个对象不执行任何操作。
所以,我有这些对象的向量。
vector {object1,object2,object3,object4}
一开始,我可以轻松地随机选择一个带有矢量[random]的对象。
这就出现了问题:一个物体也可以“死亡”。意味着该对象不应再是随机步骤的一部分。
例如,如果object2死掉,如果想要在1,3,4之间随机并让2出局。
这有可能吗? (使用C ++)
谢谢!
答案 0 :(得分:0)
我刚刚洗完澡并想着它......我想我找到了解决方法。伪代码:
vector<figure> all_figure_types;
vector<figure> all_figure_types_alive;
for (int i = 0; i < 5; i++) {
all_figure_types.push_back(generate_random_number(1,10));
}
all_figure_types_alive.clear();
for (int i = 0; i < all_figure_types.size(); i++) {
if (all_figure_types[i].is_alive) {
all_figure_types_alive.push_back(all_figure_types[i]);
}
}
int start = 0;
int end = all_figure_types_alive.size();
int random_num = generate_random_number(start, end);
int object_type = all_figure_types_alive[random_num].type;
如果有一个更好的版本没有重置这个帮助构造all_figure_types_alive,请告诉我很高兴听到!