游客:
注册
|
登录
|
会员
|
论坛设施
社区婚姻
黑道生涯
菠菜堂
CW马场
宠物中心
社区银行
勋章中心
|
插件
|
帮助
中国网页游戏论坛
»
webgame研究所
» 请教:关于网页游戏的资源消耗的计算问题
‹‹ 上一主题
|
下一主题 ››
投票
交易
悬赏
活动
支持: 0
|
反对: 0
|
打印
|
推荐
|
订阅
|
收藏
标题: 请教:关于网页游戏的资源消耗的计算问题
shenys
准骑士
UID 31446
精华 0
积分 322
帖子 56
威望 0
现金 490 银币
金币 0 金币
阅读权限 40
注册 2007-6-13
状态 离线
#1
使用道具
发表于 2007-8-30 13:15
请教:关于网页游戏的资源消耗的计算问题
请教计算算法:
现有资源a,每小时产量b,我下线前设定生产n个士兵,每m分钟生产1个士兵,每个士兵每小时消耗x点资源。
当我过了若干时间后(假设,在所有士兵生产完成以后)上线,这时应该怎么计算现有资源的数量?
如果可能建议精确到分或更高。
请教这里的高人这个算法如何写啊,谢谢!
[广告]
那啥,不回老家结婚的就来DOTA吧!
轻狂物语
准骑士
UID 39336
精华 0
积分 456
帖子 51
威望 0
现金 2610 银币
金币 0 金币
阅读权限 40
注册 2007-7-30
状态 离线
#2
使用道具
发表于 2007-8-30 13:20
你也打算写游戏的说?
轻狂物语
准骑士
UID 39336
精华 0
积分 456
帖子 51
威望 0
现金 2610 银币
金币 0 金币
阅读权限 40
注册 2007-7-30
状态 离线
#3
使用道具
发表于 2007-8-30 13:22
时间
自由转换就可以了
读取服务器的时间
看玩家是什么时间开始的
这样就能准确的计算资源了
[广告]
绿豆蛙四格漫画填字活动
shenys
准骑士
UID 31446
精华 0
积分 322
帖子 56
威望 0
现金 490 银币
金币 0 金币
阅读权限 40
注册 2007-6-13
状态 离线
#4
使用道具
发表于 2007-8-30 13:27
写这种东西对我而言不算难,不过算法就。。。
由于士兵是一个一个出来的,那么计算最终库存资源就不是很简单,所以有个算法问题,
还有就是每小时产量x,每分钟的产量除下来有小数,如何处理?
轻狂物语
准骑士
UID 39336
精华 0
积分 456
帖子 51
威望 0
现金 2610 银币
金币 0 金币
阅读权限 40
注册 2007-7-30
状态 离线
#5
使用道具
发表于 2007-8-30 18:21
?
怎么可能出现小数了?
如果是每5分长生一个士兵
那么我要招募100个
那么就需要500分钟
500分钟是小数吗?
[广告]
把自己写进最经典的角色扮演游戏中去,这就是同人版魔法门7!(第二版)
cosin
骑士
UID 23179
精华 0
积分 1762
帖子 23
威望 0
现金 3454 银币
金币 0 金币
阅读权限 50
注册 2007-4-26
状态 离线
#6
使用道具
发表于 2007-8-30 21:35
假设 u 分钟生产一单位,每单位消耗 x 个资源
玩家下线到上线之间的时间为 m 分钟
资源总数为 t ,资源增长速度为 b / 小时 = b / 60 分钟 (
资源按小时结算
)
比较简单的算法 : 剩余资源数 r, 生产单位数 c
函数 floor :向下取整
t = t + floor(m / 60) * b
z = floor(m / u) * x
if (z > t)
{
c = floor(t / x)
}
else
{
c = x
}
r = t - c * x
此算法未考虑资源增长率低于资源消耗率的情况
[
本帖最后由 cosin 于 2007-8-30 21:39 编辑
]
[广告]
把自己写进最经典的角色扮演游戏中去,这就是同人版魔法门7!(第二版)
FreePlan
准骑士
UID 54109
精华 0
积分 772
帖子 14
威望 0
现金 2508 银币
金币 0 金币
阅读权限 40
注册 2007-8-19
状态 离线
#7
使用道具
发表于 2007-8-30 21:50
for(int i = 0; i < floor(t/m); i++) {
used += (t - (i + 1) * m)* x /* t:玩家离线的分钟数,used:玩家离线后资源总消耗*/
}
resource = a + (b/60)*t - used
如果还要生产农民,那么资源随之增长,模型就更复杂一点了
[广告]
绿豆蛙四格漫画填字活动
轻狂物语
准骑士
UID 39336
精华 0
积分 456
帖子 51
威望 0
现金 2610 银币
金币 0 金币
阅读权限 40
注册 2007-7-30
状态 离线
#8
使用道具
发表于 2007-8-30 21:59
现在的高手就是多啊
只是没被发现的说
[广告]
那啥,不回老家结婚的就来DOTA吧!
FreePlan
准骑士
UID 54109
精华 0
积分 772
帖子 14
威望 0
现金 2508 银币
金币 0 金币
阅读权限 40
注册 2007-8-19
状态 离线
#9
使用道具
发表于 2007-8-30 22:02
最简单的方法:每个单位看作一个对象,比如士兵,存活时间看作其一个属性,那么该士兵任意时刻的资源消耗量就知道了=生存期*单位时间消耗量,想知道系统的资源量,挨个遍历每个对象就行了
对象模型,就这么搞
[广告]
论坛投票锁帖系统(主题帖投票)启用,会员可以控制帖子的关闭与否
轻狂物语
准骑士
UID 39336
精华 0
积分 456
帖子 51
威望 0
现金 2610 银币
金币 0 金币
阅读权限 40
注册 2007-7-30
状态 离线
#10
使用道具
发表于 2007-8-30 22:11
呵呵
看来真是高手啊
[广告]
把自己写进最经典的角色扮演游戏中去,这就是同人版魔法门7!(第二版)
shenys
准骑士
UID 31446
精华 0
积分 322
帖子 56
威望 0
现金 490 银币
金币 0 金币
阅读权限 40
注册 2007-6-13
状态 离线
#11
使用道具
发表于 2007-8-31 10:42
这里高手就是多!先感谢各位了,上面的代码我会仔细研究。
[广告]
绿豆蛙四格漫画填字活动
shenys
准骑士
UID 31446
精华 0
积分 322
帖子 56
威望 0
现金 490 银币
金币 0 金币
阅读权限 40
注册 2007-6-13
状态 离线
#12
使用道具
发表于 2007-8-31 11:00
感谢 cosin 和 FreePlan 的代码,我感觉 FreePlan 的代码的精确度应该跟高点。cosin 的代码应该是只算了最后的总和,在第一个时间段只有1个单位消耗资源,而第二个时间段就有2个单位消耗资源,以后以此类推,当生产的单位比较多,并且离线时间长的话会有很大出入。
[广告]
web棋牌市 6.16内测开启
投票
交易
悬赏
活动
当前时区 GMT+8, 现在时间是 2008-10-14 07:04
沪ICP备06036464号
Powered by
Discuz!
5.5.0
Licensed
© 2001-2007
Comsenz Inc.
Processed in 0.055447 second(s), 11 queries , Gzip enabled
TOP
清除 Cookies
-
联系我们
-
Chinese Webgame BBS 中国网页游戏论坛
-
Archiver
-
WAP
界面风格
----------
Discuz! 5 Default
-VC-Mirage-矢车菊
cvbbs
似水流年
cwebgame
控制面板首页
编辑个人资料
积分交易
公众用户组
好友列表
个人空间管理
发帖际遇
帐号发放
基本概况
流量统计
客户软件
发帖量记录
论坛排行
主题排行
发帖排行
积分排行
在线时间
管理团队
管理统计
社区婚姻
黑道生涯
菠菜堂
CW马场
宠物中心
社区银行
勋章中心