Немного сложно помочь вам со всем в вашей основной функции. Вы уже изучили отдельные функции? Как насчет stati c переменных?
Предположим, у вас есть функция int nextActiveIndex (int currentIndex) {...}, которая будет обрабатывать ваш логический массив как круг и найдет следующее значение в массиве, зацикливаясь при необходимости. Таким образом, если массив состоит из пяти элементов и в настоящее время имеет
0: F
1: T
2: T
3: F
4: T
, nextActiveIndex (1) будет равно 2, а nextActiveIndex (2) будет равно 4, а nextActiveIndex (4) будет равно 1.
Таким образом, ваш l oop не циклически перебирает ваш массив, он просто зацикливает количество шагов, которые вы хотите сделать (в вашем примере, 3 шага), и затем вы устанавливаете этот индекс на false. Повторяйте до тех пор, пока nextActiveIndex не вернет число, которое вы передаете, потому что это означает, что это единственное истинное значение слева.
Одна вещь, которая понадобится вам, - чтобы ваша основная функция и функция nextActiveIndex могли видеть массив , Чтобы сделать это, вы сделаете массив элементом stati c класса, а не просто будете объявлены внутри главной функции.
Если вы еще не знаете о переменных-членах stati c, то вы Вам придется передать массив в nextActiveIndex, а также текущий индекс.