Vector 向量中一组变量项的随机值

Vector 向量中一组变量项的随机值,vector,random,Vector,Random,我有一个问题如下: 例如,我有4个对象。随机选择一个对象来执行某个操作。例如,如果对象1执行操作,则其他3个对象不执行任何操作 我有这些物体的向量 向量{object1,object2,object3,object4} 开始时,我可以很容易地用vector[random]随机选择一个对象 问题来了:一个对象也可能“死亡”,这意味着该对象不再是随机步骤的一部分 例如,如果object2死亡,如果希望在1,3,4之间随机选择并释放2 这有可能吗?(使用C++) 谢谢 我刚洗完澡就想了想。。我想我找到

我有一个问题如下:

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

我有这些物体的向量

向量{object1,object2,object3,object4}

开始时,我可以很容易地用vector[random]随机选择一个对象

问题来了:一个对象也可能“死亡”,这意味着该对象不再是随机步骤的一部分

例如,如果object2死亡,如果希望在1,3,4之间随机选择并释放2

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


谢谢

我刚洗完澡就想了想。。我想我找到了解决办法。伪代码:

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;
矢量所有图形类型;
矢量所有图形类型活动;
对于(int i=0;i<5;i++){
所有图形类型。向后推(生成随机数(1,10));
}
所有图形类型都处于活动状态。清除();
对于(int i=0;i

如果有一个更好的版本没有重置此帮助构建所有的\u图形\u类型\u活动,请让我知道这将是很高兴听到

你试过什么代码?您的换档钥匙有问题吗?