Arrays 使用虚幻引擎收集序列中的随机对象

Arrays 使用虚幻引擎收集序列中的随机对象,arrays,sequence,Arrays,Sequence,我使用的是虚幻引擎,但我的问题涉及到任何代码或游戏引擎。我希望玩家收集5个随机对象,随机对象必须以特定的顺序或顺序收集。我想懒惰的方法是为每个触发器设置一个真/假条件,但是如果我需要向序列中添加额外的对象等,我想这会变得很混乱。为我所要的内容构造代码的正确方法是什么?if语句是否应该以某种方式与数组链接?如果我正确理解您的问题,您可以制作一个主列表,其中每个可收藏的项目都按顺序排序。然后,您可以简单地为您拥有的每个项目浏览该列表 例如: masterList = {1, 2, 3, 4, 5,

我使用的是虚幻引擎,但我的问题涉及到任何代码或游戏引擎。我希望玩家收集5个随机对象,随机对象必须以特定的顺序或顺序收集。我想懒惰的方法是为每个触发器设置一个真/假条件,但是如果我需要向序列中添加额外的对象等,我想这会变得很混乱。为我所要的内容构造代码的正确方法是什么?if语句是否应该以某种方式与数组链接?

如果我正确理解您的问题,您可以制作一个主列表,其中每个可收藏的项目都按顺序排序。然后,您可以简单地为您拥有的每个项目浏览该列表

例如:

masterList = {1, 2, 3, 4, 5, 6, 7}
collection = {...}

*masterPos = 0 //Updated inside the function
for i over collection
    if(!findMatch(masterPos, masterList[i]))
        return false
end for
return true
这样,您将检查主数组中的每个元素,如果它们不在所需的顺序中,则findMatch将失败,因为之前的一次搜索将masterPos设置为大于您搜索的项目索引的值

例如: 集合={2,5,6} 一次搜索(2)后,masterPos值为2。然后变成5,最后变成6

如果我们查看一个不按顺序排列的列表,则会得到以下结果: 集合={5,6,2} 第一次搜索后,masterPos值为5。下一次搜索将其值设为6,然后,由于我们从最后一个位置开始,我们完成了整个列表,但没有找到2,因此返回false


希望这能有所帮助。

谢谢您的反馈。我在虚幻论坛上找到了这个解决方案——这对我很有用: