论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash AS教程
Tag:2.0,3.0菜鸟,游戏,,cs,技巧,源码,,文本,文字,函数,音乐,随机,拖拽,asp,access,xml,mc,视频教程

学习检测相同数的方法

文章类别:Flash AS | 发表日期:2009-8-7 17:25:36

学习检测相同数的方法

想做flash机选双色球的flash玩玩,发现用乱数产生的6个数字里面经常有相同的数字,怎样产生不一样的6个数呢?

双色球规则:在1-33之间选取6个数字,外加一个在1到16之间的数字。

代码如下:
var shu_array:Array = [];
for (var i = 1; i<7; i++) {
       shu_array[i] = Math.floor(Math.random()*33+1);
}
想用冒泡;
for (var g = 1; g<=5; g++) {
       for (f=1; f<=6-g; f++) {
              if (shu_array[f]=shu_array[f+1])
                                {
                     shu_array[f] = Math.floor(Math.random()*33+1);
                                                break;
              }
       }
}

当有三个数都相同或新产生的数跟其他的数有相同的时候

代码如下:

var arr:Array = new Array();
var brr:Array = new Array();
brr[0] = 0;
//给数组arr添加元素1-33;
for (var i:Number = 0; i<33; i++) {
    arr.push(i+1);
}
//
function get_norepeat_rnd():Number {
    return arr.splice(random(arr.length), 1)[0];
}
//在1-33之间取出6个不同数字;并赋给brr。
for (var i:Number = 1; i<7; i++) {
    brr[i] = get_norepeat_rnd();
}
//给brr元素按大小排序;
for (var k = 1; k<6; k++) {
    for (var f = 1; f<7-k; f++) {
        if (brr[f]>brr[f+1]) {
            var t;
            t = brr[f];
            brr[f] = brr[f+1];
            brr[f+1] = t;
        }
    }
}
//最后输出6个数字;
for (var h = 1; h<7; h++) {
    trace("紅色球0"+[h]+": "+brr[h]);
}
//输出蓝色球的数字;
trace("藍色球:"+Math.floor(Math.random()*16+1));

视频教程列表
文章教程搜索
 
Flash AS推荐教程
Flash AS热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058