下面详细讲解随机函数Random()的用法,C#的学习笔记。我觉得边肖挺好的。我现在就分享给你,给你一个参考。来和边肖一起看看吧。
Random.Next() 返回非负随机数;
随机的。Next(Int)返回一个小于指定最大值的非负随机数。
随机的。Next(Int,Int)返回指定范围内的随机数,例如(-100,0)返回负数。
1、random(number)函数介绍
请参阅帮助文档,并简要提及random(number)返回一个介于0和number-1之间的随机整数。参数号代表一个整数。
示例:
trace(随机(5));
2、Math.random()
请参阅帮助文档。返回一个14位精度的介于0和1之间的数字。请注意,这里没有参数。
示例:
trace(math . random());
3、自定义的函数
有时候我们需要的随机数并不是那么简单。
比如我们想返回一个有两位小数的随机数,两个数之间的随机数,一个字母随机数,多个随机数等。
我们需要自己编写函数来实现这些。下面的代码可以直接复制到主场景的第一帧并调用。请注意,有些函数需要输入参数。
#1:返回一个总共有N位数的随机数,其中M位数是小数
函数randomXiao(n,m){
var a=Math.pow(10,nm);
var b=random(a);
return b=b/Math.pow(10,m);
}
可以用trace(randomXiao(3,2));实验。这个函数很简单。Math.pow(n,m)用于返回一个以n为基数、m为索引的数。动力!
# 2:返回一个介于n和m之间的随机数。
函数randomNm(n,m){
if(m=n){
返回random(m-n ^ 1)n;
}
否则{
返回false
}
}
用random(m-n-1)是因为随机数的范围是m-n,加1就使m在其中。加n保证随机数取n为下限。
加入判断,使功能更加完整。另外,如果想返回一个负的随机数,也可以使用randomNm(n,0);当然我觉得用-random(n)更一般;
# 3:回一封信
函数randomAscii(){
var c=string . from charcode(random(26)65);
if(random(2)){
返回c . tolowercase();
}
返回c;
}
#4:返回一个不区分大小写的随机字母
如果要恢复大写,去掉If条件句就行了。如果要返回小写,可以将条件句改为常量,或者删除条件,将最后一句改为:
返回c . tolowercase();String.fromCharCode(number)函数返回ASCII代码,其中number代表一个数字。
Tollowercase()用于将大写字母转换为小写字母。
# 5:返回K个在N和m之间互不相同的随机数。
private void RandomKDiffer(int n,int m,int k,int[] arrayK){
int I=0;
int a,j;
Random Random=new Random();
while (i k) {
a=随机。下一个(m-n ^ 1)n;
for(j=0;j I;j ) {
if (a==arrayK[j]) {
打破;
}
}
if (j==i) {
arrayK[I]=a;
我;
}
}
}
arrayK数组中的元素是结果值。注意,我们借用了random(m-n-1)n来返回一个随机数n ~ m。所以m本身将被返回。
如果要返回m以内的数字,可以将n的值改为0。如果要随机返回一个不确定的数,可以将入口参数的k值赋为k=random(m-n);
返回互不一定不同的随机数,去掉判断即可,注意不要漏掉I .此处不再给出。
#指定几个字符/数字,然后从中随机返回一个(或多个)字符/数字。你可以把原来的字符赋给一个数组,然后根据数组的下标
决定返回值。这里就不提函数了。你可以自己试试。
#还需要指出的是,对于随机设置一个MC的颜色值,我们大多使用mccolor . set rbg(random(0x ffffff));这将在下面的例子中说明。
如果你想指定一个色域,你可以使用上面给出的函数。如果对色对象不太了解,可以寻求帮助,这里不讨论。
以上函数都是直接由random推导出来的。再举一个例子,可以说是导函数的导函数,其中会直接用到上面给出的函数。请注意。
#6:返回指定长度的随机大写英文字符串
函数randomString(n){
var arrayA=randomKdiffer(1,26,n);
var arrayB=“”;
for(var I=0;I n;i ) {
c=string . from charcode(arrayA[I]64);
/* if(random(2)){
c=c . tolowercase();
}
*/
arrayB=arrayB c;
}
返回arrayB
}
注意StringCharCode方法。如果要用小写写,就把返回值写成arrayb . tolowercase();如果返回不区分大小写的字符串,
删除注释。如果要返回未指定长度的字符串,可以将entry参数赋为random(n);这只规定了它的上限。这个功能也可以使用
RandomAscii功能实现了,留给大家自己思考。
#7:在几个方面选择随机数
比如在1~20和45~70这两个数之间选一个随机数。因为区域个数不确定,所以用某个函数直接写不方便。
我们想要使用的方法是使用switch语句进行定向。具体来说,我们给出一个返回1~20,45~70范围内的数的函数。其他地区的读者自己改吧。
函数randomArea(){
var a=random(2);
开关(a){
案例0:
返回randomNm(1,20);打破;
案例1:
返回randomNm(45,70);打破;
}
}
注意我们没有写entry参数,而是直接在函数中确定它是一个两段数,范围也确定了。如果是三段,就改成a=random(3);
也加个案例就好了。当然你也可以设置段数的范围作为入口参数,这里就不举例了。但是这样做可能会增加参数的数量,
我个人不喜欢需要很多参数的函数。同样,我们可以随机返回一个字母段或几个字母段或字母加数字的数字。
方法只是前面函数的组合。这里只是一个例子,返回指定大写字母段的一个随机字母。
提醒一下,小写字母的ASCII码a~z分别对应97~122。
函数randomAArea(a,b){
if(order(a)=order(b)65=order(a)order(b)=90){
返回string . from charcode(randomNm(ord(a),ord(b)));
}否则{
返回false
}
}
使用了一个函数order(char ),但不推荐使用。它用于返回字符的ASCII码。
如果想在任何地方调用一个函数,需要稍微修改一下,把我们写的函数改成全局函数,这样就可以自由调用系统,不需要指明路径。
功能是一样的。方法如下。例如:如果要将函数randomXiao声明为全局函数,您需要将第一行改为:
_global.randomXiao=function(n,m){
//声明
}
不知道全局函数概念的朋友不要被这个名词吓倒。
修改完函数的第一行,就可以在任何地方使用randomXiao(n,m)了,比如在一个MC里(对,直接用,不用加_root path)。
以上C#学习笔记——随机函数Random()用法详解是边肖分享的全部内容。希望能给你一个参考,多多支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。