目录
①运行结果:可以看出,将概率为0的,那么这个动物基本不会叫了,叫的次数为0
1、失败:不能每次都让第一个动物开始,这样会造成第一个动物成功最多
①因为想将随机某个动物叫和这个动物叫的概率放在一起,导致出现问题
一、目的:
1、总共几个动物,每个动物有一定的概率开始叫
一、自己操作:
1、成功:
①思路:
a、动物从第一个开始,成功了,就开始第一个动物叫;概率失败了,就开始判断第二个动物的概率,依照第一个动物(不是按照失败的例子里面,一次性考虑好几个动物,而是每次判断当前动物的概率,失败就开始下一个动物)
b、如果动物失败了,那就下一个动物进行测试,直到某个动物成功才停止,如此目的让每次会有动物能够叫
c、每个动物概率只有2中情况,成功或者失败,成功就执行动作,失败就下一个动物进行判断,直到动物叫才停止
①声明变量:动物叫声的概率+动物总共叫的次数
//动物出现的概率
var probability_game0_animal0:int;
var probability_game0_animal1:int;
var probability_game0_animal2:int;
var probability_game0_animal3:int;
var probability_game0_animal4:int;
var probability_game0_animal5:int;
var probability_game0_animal6:int;
//每个动物出现的次数
var game0_animal0_showNum:int;
var game0_animal1_showNum:int;
var game0_animal2_showNum:int;
var game0_animal3_showNum:int;
var game0_animal4_showNum:int;
var game0_animal5_showNum:int;
var game0_animal6_showNum:int;
//=====================================================================================
//测试2::
var current_animal:int = 0;
var animal_total:int = 7;//动物总数
//=====================================================================================
①变量初始化
probability_game0_animal0 = 0;
probability_game0_animal1 = 0;
probability_game0_animal2 = 80;
probability_game0_animal3 = 70;
probability_game0_animal4 = 60;
probability_game0_animal5 = 50;
probability_game0_animal6 = 40;
game0_animal0_showNum = 0;
game0_animal1_showNum = 0;
game0_animal2_showNum = 0;
game0_animal3_showNum = 0;
game0_animal4_showNum = 0;
game0_animal5_showNum = 0;
game0_animal6_showNum = 0;
①随机概率的处理
//=====================================================================================
//测试3:准备处理每个动物按照概率来叫;
//功能:随机动物叫
function Random_animalSound()
{
//随机概率:0到100
var MaxNum:int = 100;
var randomNum:int = Math.random() * MaxNum;
trace("==================================");
trace("randomNum:"+randomNum);
if (randomNum<0)
{
return;
}
//动物也是按照顺序叫的,先是第一个,判断他是否成功,如果成功就开始叫,如果失败,就下一个动物进行判断是否能叫
current_animal = current_animal % animal_total;
trace("current_animal:"+current_animal);
//动物叫的概率
var probability:int=0;
switch (current_animal)
{
case 0 :
probability=probability_game0_animal0;
break;
case 1 :
probability=probability_game0_animal1;
break;
case 2 :
probability=probability_game0_animal2;
break;
case 3 :
probability=probability_game0_animal3;
break;
case 4 :
probability=probability_game0_animal4;
break;
case 5 :
probability=probability_game0_animal5;
break;
case 6 :
probability=probability_game0_animal6;
break;
}
if (randomNum<probability)
{
trace("current_animal:"+current_animal+":成功");
switch (current_animal)
{
case 0 :
game0_animal0_showNum++;
break;
case 1 :
game0_animal1_showNum++;
break;
case 2 :
game0_animal2_showNum++;
break;
case 3 :
game0_animal3_showNum++;
break;
case 4 :
game0_animal4_showNum++;
break;
case 5 :
game0_animal5_showNum++;
break;
case 6 :
game0_animal6_showNum++;
break;
}
current_animal++;
trace("game0_animal0_showNum:"+game0_animal0_showNum);
trace("game0_animal1_showNum:"+game0_animal1_showNum);
trace("game0_animal2_showNum:"+game0_animal2_showNum);
trace("game0_animal3_showNum:"+game0_animal3_showNum);
trace("game0_animal4_showNum:"+game0_animal4_showNum);
trace("game0_animal5_showNum:"+game0_animal5_showNum);
trace("game0_animal6_showNum:"+game0_animal6_showNum);
}
else
{
trace("current_animal:"+current_animal+":失败");
current_animal++;
trace("game0_animal0_showNum:"+game0_animal0_showNum);
trace("game0_animal1_showNum:"+game0_animal1_showNum);
trace("game0_animal2_showNum:"+game0_animal2_showNum);
trace("game0_animal3_showNum:"+game0_animal3_showNum);
trace("game0_animal4_showNum:"+game0_animal4_showNum);
trace("game0_animal5_showNum:"+game0_animal5_showNum);
trace("game0_animal6_showNum:"+game0_animal6_showNum);
//如果动物失败了,那就下一个动物进行测试,直到某个动物成功才停止,如此目的让每次会有动物能够叫
Random_animalSound();
}
}
①运行结果:可以看出,将概率为0的,那么这个动物基本不会叫了,叫的次数为0
1、失败:不能每次都让第一个动物开始,这样会造成第一个动物成功最多
①因为想将随机某个动物叫和这个动物叫的概率放在一起,导致出现问题
//功能:随机动物叫
function Random_animalSound()
{
var MaxNum:int = 100;
var randomNum:int = Math.random() * MaxNum;
trace("==================================");
trace("randomNum:"+randomNum);
//randomNum=94
//probability_game0_animal0 = 50;
//probability_game0_animal1 = 50;
//probability_game0_animal2 = 50;
//probability_game0_animal3 = 50;
//probability_game0_animal4 = 50;
//probability_game0_animal5 = 50;
//probability_game0_animal6 = 50;
if (randomNum<0)
{
return;
}
//animal0叫的几率
if (GetAnimal(probability_game0_animal0))
{
game0_animal0_showNum++;
}
else
{
//animal1叫的几率
if (GetAnimal(probability_game0_animal1))
{
game0_animal1_showNum++;
}
else
{
//animal2叫的几率
if (GetAnimal(probability_game0_animal2))
{
game0_animal2_showNum++;
}
else
{
//animal3叫的几率
if (GetAnimal(probability_game0_animal3))
{
game0_animal3_showNum++;
}
else
{
//animal4叫的几率
if (GetAnimal(probability_game0_animal4))
{
game0_animal4_showNum++;
}
else
{
//animal5叫的几率
if (GetAnimal(probability_game0_animal5))
{
game0_animal5_showNum++;
}
else
{
//animal6叫的几率
if (GetAnimal(probability_game0_animal6))
{
game0_animal6_showNum++;
}
else
{
Random_animalSound();
}
}
}
}
}
}
}
trace("game0_animal0_showNum:"+game0_animal0_showNum);
trace("game0_animal1_showNum:"+game0_animal1_showNum);
trace("game0_animal2_showNum:"+game0_animal2_showNum);
trace("game0_animal3_showNum:"+game0_animal3_showNum);
trace("game0_animal4_showNum:"+game0_animal4_showNum);
trace("game0_animal5_showNum:"+game0_animal5_showNum);
trace("game0_animal6_showNum:"+game0_animal6_showNum);
}
//功能:动物是否能成功
//参数1:传入的几率
//返回值:true:成功 false:失败
function GetAnimal(_e:int):Boolean
{
var result_is:Boolean;
var randomNum:int = Math.random() * 100;
if (randomNum<_e)
{
result_is = true;
}
else
{
result_is = false;
}
return result_is;
}