Как написать простую в использовании комбо-систему из 3 элементов на C#?Написание комбо-системы
Пример: Мы играем с нашей палубе
Card A
Card B
Card C
Это делает некоторые супер удивительный комбо называется Combo Ультра-карты (независимо). Теперь это легко писать, если порядок имеет значение:
if(cards[0] == "Card A"){
if(cards[1] == "Card B" && cards[2] == "Card C"){
doComboThingy();
}
}
Но теперь нам нужно все 6 комбинаций
A/B/C
A/C/ B
B/A/C
B/C/A
C/B/A
C/A/B
Я думаю, что это, вероятно, было решать 100000s раз, а может быть, есть алгоритм, все знают, около. Но я не могу найти его!
Спасибо.
Вы можете просто отсортировать список сыгранных карт, тогда вам нужно только проверить A/B/C. – Blorgbeard
Я думаю, что это не просто вопрос сортировки ... но вложенный, если это необходимо для его выполнения и насколько сложны это становится так, как ему нужны другие комбо-комбинации. Красота использования LINQ заключается в том, что она пробивает ваше намерение: у вас есть коллекция, и вы хотите знать, совпадает ли она с другой коллекцией независимо от порядка. Кроме того, я не знаю, будут ли карты иметь только 3 элемента. Если у него больше 3, и вам нужно найти все 3 комбинированные карты в большой коллекции, это еще больше увеличивает сложность. – dmyoko