来自向量中的一组变量条目的随机值

时间:2017-12-15 23:57:09

标签: vector random

我遇到以下问题:

我有4个对象。随机选择一个对象来执行某个操作。例如。如果对象1执行操作,则其他3个对象不执行任何操作。

所以,我有这些对象的向量。

vector {object1,object2,object3,object4}

一开始,我可以轻松地随机选择一个带有矢量[random]的对象。

这就出现了问题:一个物体也可以“死亡”。意味着该对象不应再是随机步骤的一部分。

例如,如果object2死掉,如果想要在1,3,4之间随机并让2出局。

这有可能吗? (使用C ++)

谢谢!

1 个答案:

答案 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,请告诉我很高兴听到!