Redian新闻
>
等级高时,打不到人的问题
avatar
等级高时,打不到人的问题# WmGame - 未名游戏
r*y
1
标 题: 关于 Windows 系统下,有些MUD打不到人的问题
关于 Windows 系统下,有些MUD打不到人的问题.
一般情况是由于其所用的 mudos 的随机函数random()的缺陷
造成的.这些 random(factor) 当 factor 比较大时产生的随
机数不是平均分布在 0~factor 之间的,而是集中在0~end 范
围内,其中end在 factor 越大时,值越小.
这样 /adm/daemons/combatd.c 函数attack()中的判断就
有问题啦.
以 西游记 为例:
attack()
{
...
if( random(ap + dp) < mod_val ) {
// 判断被攻击者是否能躲开攻击
...
}else {
...
if( random(ap + pp)< mod_val ) {
// 判断被攻击者是否能招架住攻击
...
}else {
//被攻击者被击中的处理
...
}
这里 ap 是攻击力,dp 是防御力,pp是招架力,
mod_val 是根据 ap,dp,pp 算出来的一个值.
当玩家等级高时, ap,dp,pp比较大,
avatar
c*v
2

好厉害的高级战友

【在 r****y 的大作中提到】
: 标 题: 关于 Windows 系统下,有些MUD打不到人的问题
: 关于 Windows 系统下,有些MUD打不到人的问题.
: 一般情况是由于其所用的 mudos 的随机函数random()的缺陷
: 造成的.这些 random(factor) 当 factor 比较大时产生的随
: 机数不是平均分布在 0~factor 之间的,而是集中在0~end 范
: 围内,其中end在 factor 越大时,值越小.
: 这样 /adm/daemons/combatd.c 函数attack()中的判断就
: 有问题啦.
: 以 西游记 为例:
: attack()

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。