- 有时候我们要在场景中生成宝箱或者陷阱,控制相应的生成几率
- 思路: 利用Random.range(0,100)来生成一个随机数字,然后判断随机数是否小于某概率数字,如果小于则生成,否则不生成
- 注意,Random.range(0,100),不包括100,所以才从0开始的
- 后续有其他算法,再添加
int trapPr = 30; //陷阱生成概率为30
//返回1生成陷阱
//返回0不生成
private int CraeateTrap()
{
int pr = Random.range(0, 100);
if(pr<trapPr)
{
return 1;
}
return 0;
}
- 有时候直接设置概率为目标值会难度太大,可以采用逐步增加概率的方式
int trapPr = -1; //设置概率初始值为-1
int trapMax = 30;//陷阱生成概率为30
//增加概率
private void AddPr()
{
if(trapPr<=trapMax) //超过最大概率值后就不再增加
{
trapPr+=2;
}
}
//返回1生成陷阱
//返回0不生成
private int CraeateTrap()
{
int pr = Random.range(0, 100);
if(pr<trapPr)
{
return 1;
}
return 0;
}