-1

我是优化编程的新手。

我想为 RPG 编写一个字符计算器。

简化概述:角色具有可分配给 HP、dmg 和 def 的 statPoints。这三个之一中的每个点都会将 statPoints 减一。它可以穿不同种类的手套和短裤。那些衣服可以有套装效果。

我现在想最大化不同的东西,比如 HP 或 def。

虽然只为 statPoints 编写模型很容易,但我不知道如何包含衣服。

HP = (baseHP + gearHP) (1 + %HP/100) (1 + statPoints*0.0058) + 奖励;

将是 HP 状态的公式。

我只用 statPoints 或 Bonuses 计算 HP 没有问题,但我不知道如何从 Clothes 应用 hp, %hp。

示例: Gloves1: hp:100, def:50 ;Gloves2: hp:88,def:61;.... 等等其他衣服。还有像这样的套装效果:手套1 +短裤2:马力:30;

表示 gearHP= Gloves1.hp + Shorts2.hp + possibleSetEffect;

所以我的问题是:如果我有一个带有不同衣服的对象列表,如何将它们正确添加到我的模型中?

顺便说一句:目前我有一个“Gear”类,其中包含诸如 HP、Def、Damage 和 SetEffects 之类的衣服信息。我还有另一个类,它只包含衣服属于它的信息以及它给出的 Seteffect 的信息。我认为它朝那个方向发展:https://msdn.microsoft.com/en-us/library/ff847512%28v=vs.93%29.aspx,但它似乎与我的方法完全不同.

4

1 回答 1

0

1)为每件衣服定义一个二元变量

2)为每个“SetEffect”定义一个二进制变量

3) 使用线性约束确保 SetEffect 变量在其所有需要的衣服都装备好时只有一个

4)你的目标函数是服装效果*服装变量和SetEffects *设置变量+统计数据的总和

于 2015-12-04T08:11:50.773 回答