游戏开发论坛

 找回密码
 立即注册
搜索
楼主: guirenya

[讨论] 求解一道数值题

[复制链接]

71

主题

399

帖子

405

积分

中级会员

Rank: 3Rank: 3

积分
405
发表于 2006-9-11 15:39:00 | 显示全部楼层

Re:求解一道数值题


如果9个怪可以把玩家干掉,那么前面10个怪的时候,玩家早已经挂了,请注意第一条式,2的来源是只加一次血。
补个正确的图。

10

主题

275

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
发表于 2006-9-11 15:57:00 | 显示全部楼层

Re:求解一道数值题

你的不等式本身就是错误的。

它表达的意义是:在N个怪在玩家最多加过一次血的情况下,玩家可以杀死其中一只的条件。与题意不符。

13

主题

184

帖子

188

积分

注册会员

Rank: 2

积分
188
发表于 2006-9-11 16:47:00 | 显示全部楼层

Re:求解一道数值题

在没有恢复HP技能的情况下:

玩家每干掉1个怪物需要时间为A
怪物每单位时间给人物造成的伤害为1/B
设玩家同时和N个怪战斗,则,怪物对玩家的总伤害,在第一个A时间为1/B*A*N
在第二个A时间受到的伤害为1/B*A*(N-1)
……
在第N个A时间受到的总伤害为1/B*A
则当人物消灭N个怪以后,受到的总伤害为A/B*N(N+1)/2
此时若人物刚好死亡,则A/B*N(N+1)/2=1

是不是啊~?
有加血技能存在的话
在上面不存加血技能的情况下,玩家消耗时间为AN。

若冷却时间C大于等于AN,则玩家承受的怪物的数量决定于玩家在达到N个怪之前能消灭X个怪。
在玩家将怪物数量减少到N个之前,N+X个怪物对玩家的总伤害为
A*(X+2N)*X/B
且A*(X+2N)*X/B=1,代入之前求解得到的N,可以得到X
则玩家最多能承受X+N个怪物的攻击
我不知道以上的分析正确否,对于小于的情况我比较白痴,暂时不知道怎么分析


。。求个师傅啊,师傅~ [em3] [em17]

10

主题

275

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
发表于 2006-9-11 16:56:00 | 显示全部楼层

Re:求解一道数值题

第三次,也是最后一次着重提醒大家,注意100%回血这个特殊条件,它和80%,90%是有本质区别的。
如果是80%,90%,楼上各位的思路都可以算是有道理的,但是,对于100%的情况,则完全不同。
事实上楼上各位的解题思路我基本上都用过,最后发现100%具有特殊性的,从而改变了解法,得出结论。

1

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
 楼主| 发表于 2006-9-11 21:00:00 | 显示全部楼层

Re:求解一道数值题

我来解释一下
加血技能不能使得玩家的HP超过其上限,比如玩家只有100HP,如果在HP=10的时候使用了加血技能,那么当前HP=100,而不是110

71

主题

399

帖子

405

积分

中级会员

Rank: 3Rank: 3

积分
405
发表于 2006-9-11 22:05:00 | 显示全部楼层

Re:求解一道数值题

  水寒三尺,今天头有点疼,不能仔细看你的解答。
  rick1979,要是玩家有机会在杀掉一只怪前加两次血,他就有无限次机会加血了,就是再多的怪他也死不掉。

10

主题

275

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
发表于 2006-9-11 23:16:00 | 显示全部楼层

Re:求解一道数值题

你又错了,在这个n个怪时,也许玩家有m次加血机会,但是如果是n+1,n+2……个怪,就不是m次加血机会了,而是少于m次,怪多到玩家来不及加血就死了,那么这些怪物数就是上限了,怎么能说再多的怪也死不掉?

不过你似乎快要意识到解题的关键了,有时间再多想几步就明白了。

32

主题

228

帖子

228

积分

中级会员

Rank: 3Rank: 3

积分
228
发表于 2006-9-12 16:04:00 | 显示全部楼层

Re: Re:求解一道数值题

不好意思,符号方向打错了,更正一下。
sf_20069121645.jpg

14

主题

133

帖子

138

积分

注册会员

Rank: 2

积分
138
发表于 2007-9-24 15:39:00 | 显示全部楼层

Re:求解一道数值题

怎么可能跟A没有关系?!!!!!!!!!!!!

假设A=1000秒 B=1000秒 C=1000秒
这种情况玩家连1个怪都打不完就死了

假设A=1秒 B=1000秒 C=1000秒
这种情况下围10个怪都没事儿,怎么可能跟A无关呢

稍候我放出我的算法

0

主题

34

帖子

34

积分

注册会员

Rank: 2

积分
34
发表于 2007-9-28 10:54:00 | 显示全部楼层

Re:求解一道数值题

解这个题有三种情况要考虑:
一,回血技能冷却足够快的情况.只要C<B,那么玩家就肯定不会被一个怪打死,因为怪尚未打死玩家,玩家的血就恢复到满值的状态.如果是N个怪同时攻击玩家,那么只要玩家不被这些怪打死,就一定可以消灭这些怪.也就是说只要C<(B/N)即可,与A无关.即是:N<(B/C)
二,回血技能冷却慢,但玩家的生命足够高的情况.在这种情况下,玩家没有办法像前面一样不停地回血,但是要知道,第一次回血是不需要冷却时间的,所以相当于玩家有2倍的生命可以承受怪物的攻击.也就是说,只要A<2B,玩家就可以打死一个怪.如果是N个怪同时攻击玩家,那么玩家必须在回一次血之后把怪全部消灭,也就是说要满足2B*B'>N*B'A+(N-1)*B'A+...+B'A
(式中B'为怪物的攻击力),与C无关.即是:N(N+1)<(4B/A)
以上两个N取整后比较大小,较大者即为题解.

三,还有一种情况,就是在玩家回一次血之后,随着怪物的减少,到某一时刻,使得剩下的怪物的攻击不足以在下次回血前消灭玩家,这种情况非常复杂,并且不一定有解,需要应用线性规划,且对ABC的值域极其敏感.个人感觉并不适合用做理论分析讨论,强烈怀疑楼主条件不清.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-8-15 15:36

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表