【发布时间】:2012-01-15 17:57:42
【问题描述】:
我正在尝试为名为 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 种指定技能之一的所有物品的列表,但我不知道如何进行排列因为我要兼顾 2-3 种用户指定的技能......
我希望我有可以显示的工作代码,但我现在迷失了方向,不知道从哪里开始。我不是在寻找答案本身,而是关于如何到达那里的建议。谢谢。
【问题讨论】:
标签: c# permutation combinations