在C ++中挑选随机子类

时间:2017-04-09 09:14:12

标签: c++ random subclass abstract

我正在写一个游戏。它的结构看起来像这样 - Diagram

现在,我在另一个名为World(基本上是一系列有机体)的类中有一张地图,我想在那里产生n个随机生物。

我知道我可以做rand()%subclassesCount并执行if / switch语句,但是如果我有1000种动物和植物怎么办?我是否必须在我的代码中指定它们?有更简单的方法吗?

1 个答案:

答案 0 :(得分:0)

可能有两种情况:

案例1:对生物体没有任何限制。

解决方案:

您可以简单地为每个生物分配一个唯一的身份编号(制作一个数组)并使用索引编号随机选择生物。

案例2:每种生物都应该是独一无二的。

解决方案: 维护另一个bool数组,用于存储该生物是否已经生成。bool status[1000];//remember to initialize it with 0.