2015-10-06 1 views
0

Я использую нереальный движок, но мой вопрос касается любого кода или игрового движка. Я хочу, чтобы игрок собирал 5 случайных объектов, и случайные объекты должны собираться в определенной последовательности или порядке. Я предполагаю, что ленивый способ - сделать истинное/ложное условие для каждого триггера, но я полагаю, что это будет беспорядочно, если мне нужно добавить дополнительные объекты в последовательность и т. Д. Каков правильный способ структурирования кода для того, после? Должен ли оператор if связываться с массивом каким-то образом?с использованием нереального двигателя для сбора случайных объектов в последовательности

ответ

0

Если я правильно понимаю вашу проблему, вы можете составить основной список, в котором каждый предмет коллекционирования сортируется по порядку. Затем вы можете просто запустить этот список для каждого элемента, который у вас есть.

Например:

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.

Если мы вместо того, чтобы посмотреть на список, который НЕ в порядке, тогда мы получаем следующий результат: collection = {5, 6, 2} После первого поиска значение masterPos равно 5. Следующий поиск дает значение 6, то, так как мы начинаем в последнем положении , мы заканчиваем весь список без поиска 2, поэтому возвращаем false.

Надеюсь, это поможет.

+0

Спасибо за обратную связь Noobs DeSroobs. Я нашел это решение на Unreal Forum - это сработало для меня: https://answers.unrealengine.com/questions/314105/how-to-see-if-a-series-of-triggers-has-been-activa. HTML – joeyc

Смежные вопросы