Простой способ, иметь коллекцию правильной последовательности:
int[] solution = new int[]{2,1,3};
затем каждый раз, когда используется кнопка, добавлять ее значение в другую коллекцию:
List<int> sequence = new list<int>();
void OnPress(int buttonValue)
{
if(sequence.Contains(buttonValue)){ return; } // Don't add twice
sequence.Add(buttonValue);
if(sequence.Count == solution.Length)
{
if(CompareSequence())
{
// win
}
else
{
sequence.Clear();
}
}
}
bool CompareSequence()
{
// this should not be since we checked before but just to be sure
if(solution.Length != sequence.Count){ return false; }
for(int i = 0; i < solution.Length; i++)
{
if(solution[i] != sequence[i]){ return false; }
}
return true;
}
Каждое действие на кнопке будет передать собственное значение, которое будет добавлено в список. Когда список и решение имеют одинаковую длину, они сравниваются. Если они совпадают, вы переходите в раздел выигрыша, если нет, последовательность очищается, и пользователю необходимо пополнить содержимое.