首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2ME开发 >

小小代码,揭露游戏的消费。该怎么处理

2012-01-12 
小小代码,揭露游戏的消费。Java codepackage src.com.refinepublic class Refine {/*** @param args*/publ

小小代码,揭露游戏的消费。

Java code
package src.com.refine;public class Refine {    /**     * @param args     */    public static void main(String[] args) {        // TODO 自动生成方法存根        getTimesByLever(12);    }    /**     * 获取炼器成功几率 *     */    public static double getSuccess(int    level){        double successPercent=0.00;        if(level==0){successPercent=0.90;}        if(level==1){successPercent=0.80;}        if(level==2){successPercent=0.70;}        if(level==3){successPercent=0.60;}        if(level==4){successPercent=0.55;}        if(level==5){successPercent=0.50;}        if(level==6){successPercent=0.45;}        if(level==7){successPercent=0.40;}        if(level==8){successPercent=0.35;}        if(level==9){successPercent=0.30;}        if(level==10){successPercent=0.25;}        if(level==11){successPercent=0.20;}            if(level==12){successPercent=0.18;}            if(level==13){successPercent=0.15;}            if(level==14){successPercent=0.12;}            if(level==15){successPercent=0.10;}                return successPercent;    }        /**     * 根据精炼等级炼器是否成功     * 返回boolean     */    public static boolean successOrNot(int level){        boolean isOrNot=true;        double successPercent=0.00;        double mathRandom=0.00;        //通过等级获取成功率        successPercent=getSuccess(level);        //随机获取几率        mathRandom=Math.random();        //输出成功几率        System.out.println("成功几率:"+successPercent);        System.out.println("随机数:"+mathRandom);        if(mathRandom<successPercent){            isOrNot=true;        //成功        }else{            isOrNot=false;        }        return isOrNot;    }        /**     * 通过精炼等级获取炼器要达到的次数     * @param lever     */    public static void getTimesByLever(int level){        int times=0;        for (int i = 0; i <= level; i++) {            times=times+1;            System.out.println("当前精炼等级:"+"+"+(i-1));            boolean isOrNot=successOrNot(i);            System.out.println("是否成功:"+isOrNot+"\n");            if(isOrNot==false){                i-=2;                if(i<0){                    i=0;                }            }        }        System.out.println("一共消费: "+times+"   个完毕");        System.out.println("当前精炼等级:"+"+"+level);    }}


修改main中的精炼等级就可以看出到底要话多少钱!
这个直接在控制台输出详细信息。
看看你们都是多少话多少?
不过上边的几率是我自己人为规定了的。
在游戏中可能有很多因素影响这个几率。
(这是诛仙模式。)

[解决办法]
散分贴?
欢迎欢迎
[解决办法]
呵呵,lz好样的。祝你好运
[解决办法]
这不是很正常么?说穿了,游戏最终不就是一堆虚拟数据而已么?
[解决办法]
接。。。。。。
不玩游戏已经很久了
[解决办法]
楼主要优化。。。
if(level==0){successPercent=0.90;return;}

[解决办法]
为什么不switch case或者用公式解决问题,根据等级有个算概率的公式。

游戏主要靠随机,说穿了就是“赌”
[解决办法]
游戏就是这样的 不然你要全部都是百分百 还怎么促进大家消费啊
[解决办法]
优化下
[解决办法]
Java code
    public static double getSuccess(int level)    {        double[] successPercent= new double[]        {            0.90,   /*  0 */            0.80,   /*  1 */            0.70,   /*  2 */            0.60,   /*  3 */            0.55,   /*  4 */            0.50,   /*  5 */            0.45,   /*  6 */            0.40,   /*  7 */            0.35,   /*  8 */            0.30,   /*  9 */            0.25,   /* 10 */            0.20,   /* 11 */            0.18,   /* 12 */            0.15,   /* 13 */            0.12,   /* 14 */            0.10    /* 15 */        };                return (level>=0 && level<successPercent.length) ? successPercent[level] : 0.00;    } 


[解决办法]
楼主用的是穷举法,求个智能点的
[解决办法]
用计算器算了一下,最终是0.000000002546
是不是很无聊
[解决办法]
学习。

热点排行