private int pr_hole;
private int ms;
private int ss;
private int CalcPR() //路障的随机算法
{
int rd = Random.Range(1, 101);//定义一个随机范围(1-100)
if (rd <=pr_hole)//坑
{return 1;}
else if (rd >31&& rd<=31+ms) //地面刺
{return 2;}
else if(rd >61&&rd<=61+ss)//天空陷阱
{return 3;}
else
return 0;
}
///
/// 增加概率
///
public void AddPR()//路障产生的概率增加
{
pr_hole+=2;
ms+=1;
ss+=1;
}
这个代码中坑的取值范围为什么是1-30,地面次为什么是31-60,天空为什么是61-90
具体要看你的题目,或者你要做什么。
仅仅就代码的角度说,你随机产生一个1-100的随机数,那么rd是某个数字的概率是0.01
rd在1到pr_hole的概率是pr_hole%
在31到31+ms的概率是ms%
在61到61+ss的概率是ss%
产生的随机数不在上述范围的概率是(100-pr_hole-ms-ss)%