/*
name ::精灵名称
返回闪光标识,便于测试时跳出循环
*/
function getPokemon(name){
//随机生成个体和闪光标识
var HP = randIV();
var GJ = randIV();
var FY = randIV();
var TG = randIV();
var TF = randIV();
var SD = randIV();
var SHINY = randShiny();
//闪光随机一项个体为31,1-6依次对应HP 攻击 防御 特攻 特防 速度
if(SHINY!=''){
var item = rand(6,1);
if(item==1){ HP = 31;}
if(item==2){ GJ = 31;}
if(item==3){ FY = 31;}
if(item==4){ TG = 31;}
if(item==5){ TF = 31;}
if(item==6){ SD = 31;}
//输出个体,循环测试时务必注释该行,避免卡死单次测试时直接调用即可查看每次捕捉精灵个体值
//console.log(SHINY+name+"\nHP\t:"+HP+"\n攻击\t:"+GJ+"\n防御\t:"+FY+"\n特攻\t:"+TG+"\n特防\t:"+TF+"\n速度\t:"+SD);
}
return SHINY ;
}
//随机函数,随机生成n-m之间的一个随机数
function rand(m,n){
return Math.floor(Math.random()*(m - n) + n);
}
//随机生成个体值0-31之间
function randIV(){
return rand(31,0);
}
//随机生成闪光标识,范围为1-30000 ,当随机数=1时视为闪光
function randShiny(){
//基准出闪率 1/30000 ,设定base = 30000 ,
//若有捐赠,按照官方1/27000的概念,则base*0.9即可
var base = 30000;
var num = rand(base,1);
//随机生成1-30000的数 =1 时为闪光,返回字符串,方便拼接精灵名称
if(num==1){return "闪光";}
return "";
}
//计数器
var n=1;
//测试次数
var csTimes =1000;
//每日刷怪数
var numDay = 1000;
//循环模拟,若模拟单次,修改csTimes值即可
for(var i = 0 ,day = 0; i<csTimes;i++){
while(n){
if(getPokemon("阿勃梭鲁")!='')
{
break;
}
n++;
}
day += Math.floor(n/1000)+1;
//出闪后 计怪数重置为1
n=1;
}
alert(day/csTimes);