游戏中也藏着这么有趣的数学问题
<p>最近一款中华会计网校推出的Flash小游戏《魔塔》,游戏虽然小,但打起来却很费劲,常常因为考虑不周全陷入进退无路的困境。</p><p>游戏主人公同敌人打斗时的规则是这样的:</p><p>主人公有一定的生命值(设为X),有一定的攻击力(设为A)和防御力(设为B);敌人也有一定的生命值(设为Y),有一定的攻击力(设为C)和防御力(设为D)。</p><p>每个攻击的回合中,主人公攻击敌人会使敌人的生命值减少A-D点,而敌人攻击主人公会使主人公的生命值减少C-B点,这样互相打下去,直到有一方的生命值为零。</p><p><strong>打个比方:</strong></p><p>敌人:生命值:200 攻击力:20 防御力:10</p><p>我方:生命值:500 攻击力:35 防御力:15</p><p>每次攻击,我方生命值会减少(20-15)=5点,敌方生命值减少(35-10)=25点。</p><p>这样敌人经过200/25=8次攻击之后,生命值就减为零了,而这时我方的生命值减少了8*5=40点,还剩(500-40)=460分。</p><p>如果敌人的攻击力没有我方的防御力高的话,则他每次攻击我方,我的生命值都不变;反之也一样。</p><p>现在问题就来了:</p><p>我获得了一个宝物,用它可以加M点的攻击力或是防御力。我现在的情况是:不加这M点,我的攻击力也高于对方的防御力;加了这M点,我的防御力也无法高过对方的攻击力。这M点起不了决定性的作用,我们之间的一场血战无法避免。</p><p>那么,为了最大限度地保存生命值,我到底是要把宝物用在增加攻击力上,还是用在增加防御力上?</p><p>如果用来增加攻击力的话,那么我每次可以多打掉对方的生命值,战争可以早点结束,我也就可以少失点生命了;如果是增加防御力的话,虽然战争不能早点结束,但每次我失掉的生命值就会少一些,总体失血还是会少一些。</p><p>听起来都有道理。看来我们需要列个算式。</p><p>如果加在攻击力上面,我现在就有A+M点的攻击力了。每次打敌人会使敌人失掉A+M-D点的生命;敌人每次打我仍使我失掉C-B点的生命。</p><p>敌人经过Y/(A+M-D)个回合后,生命值就会减为零(如果是小数的话,取整)。</p><p>经过这么多回合,我的生命会减少:Y(C-B)/(A+M-D)。</p><p>用上面的方法,我们可以知道,如果这M点用在增加防御力上,那么当敌人的生命值降为零时,我损失的生命值为Y(C-B-M)/(A-D)。</p><p>现在,问题就简化为:Y(C-B)/(A+M-D)和Y(C-B-M)/(A-D)哪一个更大?</p><p> </p><center></center><p> </p><p>经过化简,上述式子可化为:</p><p> </p><center></center><p> </p><p><strong>现在问题简化为:</strong></p><p> </p><center></center><p> </p><p>是大于零,还是小于零?如果大于零的话,代表用M来增加攻击会失更多的生命,应该用来增加防御才对;如果小于零,则应该增加攻击。</p><p>我们仔细看这个式子,将它变一下形为:</p><p>M-C+B+A-D=M+(A+B)-(C+D)</p><p>A+B是我方攻击加防御的值(我们统称为能力值),C+D是敌人的能力值。从这个式子,就可以看出:如果我方的能力值加上这个M之后能大于对方的能力值,则应该将这M点用来增加防御;否则的话,则应该用来增加攻击。</p><p>想不到吧,这看似简单的游戏也藏着这么有趣的数学问题。如果不是亲自算一遍的话,真有可能浪费了宝物哦!</p>
页:
[1]