17173首页 - 免费新游 - 火爆论坛 - 游戏博客 - 游戏播客 - 百科问答 - 网游排行榜 - 网游期待榜
| 通行证 注册
17173奇迹世界小贴士[按F5查看下一条]: 
17173奇迹世界 > > 玩家稿件 >>
80双修盾法和纯自然的比较
2007-07-13            [发表评论] [文章投稿] [截图上传] [加入收藏]
作者: 冷冷 关键字:

首先,要感谢ayuayufan,本程序前身为这位大虾的程序。

前提:
80双修盾法,自然150生命190,使用全套道具和装备追加属性,能撑起3阶精智象牙+10,全套精智传说+10(都为紫装)。
拥有
智力:69 精神:82 魔法伤害:117-139 防御:445 魔防:635

80纯自然,自然200,轻松穿上,6阶精智女神+10,7阶精智圣灵+12(都为紫装)。
拥有
智力:113 精神:167 魔法伤害207-245 防御:726 魔防:1209

程序:用于使用日文操作系统,所以注释都拿掉了,请看起来累得朋友体谅。

这里只输出了暴击伤害(DeathHit!)
class Sorceress{
    private int men;//智力
    private int ins;//精神
    private int level;//等级
    private int skillpoint;//技能熟练度
    private int MAGIC_MIN_DAM;//最小魔法伤害(由于用了武器,所以设计成动态值)
    private int MAGIC_MAX_DAM;//最大魔法伤害(理由同上)
   
    public final int DEX=12;//敏捷
    public int DEATH_HIT_NUM=getMagicDeathHitPersent();//角色暴击率
    private int skilldam=0;//技能攻击力
    private int superaddition=0;//技能追加攻击力
    private double more_dam_persent=0;//技能追加伤害百分比
    private int skill_level=0;//技能等级
   
    private int target_level;//目标等级 0gI hOkli
    private int magic_recovery;//目标魔法防御力
   
    public String DeathHit="";//暴击表示用
    //初始化,智力,精神,级别,技能熟练度,最小魔伤,最大魔伤套入
    public Sorceress(int men,int ins,int level,int skillpoint,int min_dam,int max_dam){
        this.men=men;
        this.ins=ins;
        this.level=level;
        this.skillpoint=skillpoint;
        this.MAGIC_MIN_DAM=min_dam;
        this.MAGIC_MAX_DAM=max_dam;
    }
    //设定技能攻击力
    public void setSkillDam(int skilldam){
        this.skilldam=skilldam; 
    }
    //设定技能追加攻击力
    public void setSuperAddition(int superaddition){
        this.superaddition=superaddition;
    }
    //设定技能追加伤害百分比
    public void setMoreDamPersent(double more_dam_persent){
        this.more_dam_persent=more_dam_persent;
    }
    //设定技能等级
    public void setSkillLevel(int skill_level){
        this.skill_level=skill_level;
    }
    //设定目标等级
    public void setTargetLevel(int target_level){
        this.target_level=target_level;
    }
    //设定目标魔法防御力
    public void setMagicRecovery(int magic_recovery){
        this.magic_recovery=magic_recovery;
    }
    //得到暴击率
    public int getMagicDeathHitPersent(){
        return level/4+DEX/4;
    }
    //得到魔法基本最小攻击力
    public int getMagicBaseMinDam(){
        return men/3+MAGIC_MIN_DAM+superaddition;
    }
    //得到魔法基本最大攻击力
    public int getMagicBaseMaxDam(){
        return men/2+MAGIC_MAX_DAM+superaddition;
    }
    //得到魔法技能基本最小攻击力
    public double getSkillBaseMinDam(){
        return (this.getMagicBaseMinDam()+skilldam+skillpoint/3)*(1+more_dam_persent);
    }
    //得到魔法技能基本最大攻击力
    public double getSkillBaseMaxDam(){
        return (this.getMagicBaseMaxDam()+skilldam+skillpoint/3)*(1+more_dam_persent);
    }
    //伤害差别率
    public double getA(){
        return (80+target_level*6-magic_recovery)/(750+target_level*2)+0.7+(level-target_level)*0.03;
    }
    //最终伤害
    public double getFinalDam(){
        return getSkillBaseMinDam()+(getSkillBaseMaxDam()-getSkillBaseMinDam())*this.getA()*Math.random(); 
    }
    //致命一击伤害
    public double getDeathHitDam(){
        double damage=this.getFinalDam();
        return damage*1.2+Math.random()*damage*0.5;
    }
    //是否出现致命一击
    public boolean isDeathHit(){
        int temp1=ins/2+skill_level+DEATH_HIT_NUM;
        int temp2=25+this.target_level*8;
        return 1+Math.random()*(temp2-1)<=temp1;
    }
    //得到最后伤害,致命时加入显示用值
    public double getDam(){
        if(isDeathHit()){
            this.DeathHit=" DeathHit!";
            return getDeathHitDam();
        }else{
            this.DeathHit=""; 
            return getFinalDam();
        }
    }
}

public class Sun{
    public static void main(String[] args){
        // 双修盾法的数据套入
        Sorceress sr1=new Sorceress(69,82,80,150,117,139);
        // 1级岩石伤害套入
        sr1.setSkillDam(244);
        sr1.setSkillLevel(1);
        //60级怪套入
        sr1.setTargetLevel(60);
        sr1.setMagicRecovery(417);
        double damtotal1=0;
        for(int i=0;i<100;i++){
            double damage1=sr1.getDam();
            if (sr1.DeathHit.endsWith(" DeathHit!")) {
                //是致命伤害时,输出结果
                System.out.println(damage1+sr1.DeathHit);
            }
            damtotal1+=damage1;
        }
        //双修100次伤害总和输出
        System.out.println("1 END DAMAGE"+damtotal1);
        //双修100次平均伤害输出
        System.out.println("1 per DAMAGE"+damtotal1/100);

        //纯自然数据套入
        Sorceress sr2=new Sorceress(113,167,80,200,207,245);
        //10级岩石伤害套入
        sr2.setSkillDam(297);
        sr2.setSkillLevel(10);
      //60怪伤害套入
        sr2.setTargetLevel(60);
        sr2.setMagicRecovery(417);
        double damtotal2=0;
        for(int i=0;i<100;i++){
            double damage2=sr2.getDam();
            if (sr2.DeathHit.endsWith(" DeathHit!")) {
                //是致命伤害时,输出结果
                System.out.println(damage2+sr2.DeathHit);
            }
            damtotal2+=damage2;
        }
        //纯自然100次伤害总和输出
        System.out.println("2 END DAMAGE"+damtotal2);
        //纯自然100次平均伤害输出
        System.out.println("2 per DAMAGE"+damtotal2/100);
    }
}

对60级怪结果:
727.5555074363622 DeathHit!(致命伤害值,下同)
725.2201099243968 DeathHit!
695.9723498228512 DeathHit!
748.9874889117748 DeathHit!
657.1223898168753 DeathHit!
710.463181940228 DeathHit!
573.1220621419785 DeathHit!
584.7936519145272 DeathHit!
1 END DAMAGE47305.70719555554(双修100次伤害总和)
1 per DAMAGE473.0570719555554(双修100次平均伤害)


825.0295719779352 DeathHit!(致命伤害值,下同)
779.4633456177651 DeathHit!
878.7596367904124 DeathHit!
939.8795198931596 DeathHit!
992.0773175647139 DeathHit!
814.1707281216493 DeathHit!
920.3525913357179 DeathHit!
775.4303754266348 DeathHit!
1043.9436063570388 DeathHit!
1067.1503163884358 DeathHit!
1049.945846990517 DeathHit!
979.6920456033486 DeathHit!
996.1738268613628 DeathHit!
1018.1548688531211 DeathHit!
929.332182252371 DeathHit!
1039.2846598207432 DeathHit!
1046.1471262099321 DeathHit!
1025.824733857925 DeathHit!
952.0609349101904 DeathHit!
806.5966019259355 DeathHit!
913.5713254489742 DeathHit!
2 END DAMAGE70727.51758283282(纯自然100次伤害总和)
2 per DAMAGE707.2751758283282(纯自然100次平均伤害)


结论:
1。纯自然平均伤害比双修多200,双修的伤害能达到近500。
2。双修有进10%的暴击,自然为双修的1.7-2倍。

两种类型对打

前提:打人的计算公式和打怪一样。修改部分程序如下:
public class Sun{
    public static void main(String[] args){
                                          //双修数据套入
        Sorceress sr1=new Sorceress(69,82,80,150,117,139);
        //1级岩石套入
        sr1.setSkillDam(244);
        sr1.setSkillLevel(1);
        //纯自然等级和魔法防御套入
        sr1.setTargetLevel(80);
        sr1.setMagicRecovery(1209);
        double damtotal1=0;
        for(int i=0;i<100;i++){
            double damage1=sr1.getDam();
            if (sr1.DeathHit.endsWith(" DeathHit!")) {
                System.out.println(damage1+sr1.DeathHit);
            }
            damtotal1+=damage1;
        }
        System.out.println("1 END DAMAGE"+damtotal1);
        System.out.println("1 per DAMAGE"+damtotal1/100);
        //纯自然数据套入
        Sorceress sr2=new Sorceress(113,167,80,200,207,245);
        //10级岩石套入
        sr2.setSkillDam(297);
        sr2.setSkillLevel(10);
        //双修等级和魔法防御套入
        sr2.setTargetLevel(80);
        sr2.setMagicRecovery(635);
        double damtotal2=0;
        for(int i=0;i<100;i++){
            double damage2=sr2.getDam();
            if (sr2.DeathHit.endsWith(" DeathHit!")) {
                System.out.println(damage2+sr2.DeathHit);
            }
            damtotal2+=damage2;
        }
        System.out.println("2 END DAMAGE"+damtotal2);
        System.out.println("2 per DAMAGE"+damtotal2/100);
    }
}

结果:
697.4184239683098 DeathHit!
551.1755816760156 DeathHit!
607.661455791149 DeathHit!
744.3489452779374 DeathHit!
575.487506760836 DeathHit!
572.622440259197 DeathHit!
573.7738164332419 DeathHit!
637.6551493539018 DeathHit!
1 END DAMAGE45997.89078844988
1 per DAMAGE459.97890788449877

780.5084828586668 DeathHit!
1013.5767337511754 DeathHit!
811.0941574153586 DeathHit!
949.515158127978 DeathHit!
983.9659334991261 DeathHit!
839.0140773749889 DeathHit!
924.7074896789532 DeathHit!
1065.9895743029826 DeathHit!
902.7054508056268 DeathHit!
814.0393964062578 DeathHit!
786.958602843031 DeathHit!
993.7727056501259 DeathHit!
941.2810804142464 DeathHit!
983.8183441250492 DeathHit!
767.7722768770238 DeathHit!
1002.1249142988752 DeathHit!
1046.7987015967135 DeathHit!
832.777651461172 DeathHit!
1004.5915829515791 DeathHit!
2 END DAMAGE68155.89880740992
2 per DAMAGE681.5589880740991


结论:
1。纯自然的暴击率是双修的1-4倍,经常出3倍以上的暴击几率。
2。平均伤害纯自然比双修多230+的伤害。输入效果并没有因为二者差了近2倍的防御,而使得伤害也出现2倍,防御作用太小。

 

最终结论

1。从装备花费上,双修明显少于纯自然,而且是成倍数的少,想必这套纯自然装没几个人弄。
2。80级双修已经很爽了,虽然1级岩石的伤害小于纯自然的10级岩石。但是随着等级的增高,伤害会拉近到100左右。
3。此时双修对纯自然的伤害已经构成(不吃道具的情况下,纯自然已经完全不时对手了,而且级别越高劣势越明显)。
4。但是在rmb的支持下,此时纯自然还是具有优势,对双修近20%的爆击(连续暴,盾也迷糊),高伤害,高魔防。不过这个钱就是纸了(花的太猛)。
5。这个程序还认证了打同级怪,精神再高,暴击率最高不超过20%。

结论就是和本论坛讨论的一样,80+后,双修从花费,防御上看,优势在尽,伤害这个时候还是致命伤不过打怪还凑合。除非追求伤害完美的人才能坚持纯自然的道路。。。

相关链接

游戏截图
用户: 匿名
史上最强的拼音输入法 下载>>>
评论

我要发布Sogou推广服务

热点标签:
新闻 标题 栏目 文章 图片 链接
热点标签:
新闻 标题 栏目 文章 图片 链接
玩家照片

叮叮小羽