Я пытаюсь создать инструмент для игры под названием Monster Hunter (для персонального использования)). Раньше я работал с перестановками, но ничего такого сложного, поэтому я полностью застрял.Сложные перестановки без повторения
В игре вы носите 5 единиц брони. Каждая часть имеет очки умения для одного из многих разных навыков. Если у вас есть 10 умений в определенном навыке после вычисления всего набора, вы получаете это умение.
Пример:
Foo Head: Attack +2, Guard + 2
Foo Chest: Defense + 5
Foo Body: Guard + 2, Attack + 5, Defense +2
Foo Arm: Attack + 3, Speed + 4
Foo Legs: Attack + 5, Guard + 6, Defense + 3
The above set would result in 10+ in Attack, Defense, and Guard (not speed).
Я хотел бы выяснить, как найти все комбинации БТТ данных 2-3 заданные пользователем навыки. Поэтому, если вы выбрали «Атака» и «Скорость», это даст вам все возможные комбинации из 5 единиц брони, которые приведут к +10 в «Атаке» и «Скорость». Для каждой из 5 категорий существует около 60 различных предметов.
Я знаю, что могу использовать LINQ для фильтрации каждой из 5 категорий частей брони, чтобы получить только список всех предметов, которые включают одно из двух указанных навыков, но я теряюсь на том, как сделать перестановки, так как я манипулирую 2-3 пользовательскими навыками ...
Мне жаль, что у меня не был рабочий код, чтобы показать, но я так потерялся в этот момент. Я не знаю с чего начать. Я не ищу ответа, как такового, но совет о том, как туда добраться. Благодарю.