Jump to content

简单的JS计算平均刷闪耗时


Cengninang

Recommended Posts

/*
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);

 

Link to comment
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.