as乱数排列(不重复的随机数)方法
选取不重复的随机数(或者叫乱数),在flash的编程中经常都会用到。 一 本节知识要点 1、 do { statement(s) } while (condition) 循环语句, condition 为要计算的条件,statement(s) 是只要 condition 参数计算结果为 true 就会执行的语句
2、 break; 在循环语句中使用,break 动作可命令 Flash 跳过循环体的其余部分,停止循环动作,并执行循环语句之后的语句。 3、 Array.push(); 将一个或多个元素添加到数组的结尾,并返回该数组的新长度。
4 Array.splice() 向数组中添加元素或删除数组中元素 二 介绍两种乱数排列的方法: 在1到32中选取10个随机数,要求这10个随机数必须是不重复的。 方法1:在1到32中选取1个随机数后,把它与前面选取的所有数进行比较,如果和其中一个相同,那么就重新选择;如果和前面选取的所有数都不相同,那么,这个数就被选定,并进一步选取下一个数。 例 1 打开3.5.1.fla文件,第1帧上的脚本为: i = 0; rand_arry = new Array();//定义数组(也可以:rand_arry =[]) do { //执行下面的循环语句 rand_arry = Math.floor(Math.random()*32)+1;//给数组赋值---1到32之间的一个随机数; k = true; //设置一个逻辑变量; for (j=0; j if (rand_arry == rand_arry[j]) {
//把刚才取得的这个随机数与前面取得的所有数进行比较,如果相等... k = false;//改变逻辑变量 break; //跳出for循环 } } if (k) { //如果逻辑变量k没有发生改变; i++; //变量i加1 } } while (i<10); //如果i<10,回到do开始的循环;如果i=10,则跳出do循环 web=rand_arry.sort(16) // //把数组rand_arry按升序排列,并用文本web显示
|