有條件執行的迴圈敘述與亂數區間控制(大樂透)

2010-05-30
這案例是有學生提~我才會做!!正所謂"會吵的小孩有糖吃",不然,此案例只會在我的隨身碟中繼續封存下去~><~
此案例分兩個部分來製作:
1.先抓出六組亂數區間1~49個號碼,並分別顯示在動態文字框內。在Flash中的亂數區間為0<=N<1,知道亂數的max、min便可求出1~49的區間值。如果跑出不是在1~49的亂數值,請仔細檢查您的語法使否有錯!!否則,請您找我領一罐小瓶養樂多。 get_btn.addEventListener(MouseEvent.CLICK,getNum);
function getNum(e:MouseEvent):void
{
    var r1:Number = Math.floor(Math.random() * 49) + 1;
    var r2:Number = Math.floor(Math.random() * 49) + 1;
    var r3:Number = Math.floor(Math.random() * 49) + 1;
    var r4:Number = Math.floor(Math.random() * 49) + 1;
    var r5:Number = Math.floor(Math.random() * 49) + 1;
    var r6:Number = Math.floor(Math.random() * 49) + 1;
    msg1_txt.text = String(r1);
    msg2_txt.text = String(r2);
    msg3_txt.text = String(r3);
    msg4_txt.text = String(r4);
    msg5_txt.text = String(r5);
    msg6_txt.text = String(r6);
}

亦可再宣告一變數tNum來指定為亂數區間的最大值,未來只要更改tNum的數值即可同時更改所有的亂數區間值。 var tNum:Number = 49;
get_btn.addEventListener(MouseEvent.CLICK,getNum);
function getNum(e:MouseEvent):void
{
    var r1:Number = Math.floor(Math.random() * tNum) + 1;
    var r2:Number = Math.floor(Math.random() * tNum) + 1;
    var r3:Number = Math.floor(Math.random() * tNum) + 1;
    var r4:Number = Math.floor(Math.random() * tNum) + 1;
    var r5:Number = Math.floor(Math.random() * tNum) + 1;
    var r6:Number = Math.floor(Math.random() * tNum) + 1;
    msg1_txt.text = String(r1);
    msg2_txt.text = String(r2);
    msg3_txt.text = String(r3);
    msg4_txt.text = String(r4);
    msg5_txt.text = String(r5);
    msg6_txt.text = String(r6);
}

2.接下來,要把r1~r6變數相等的15種情況拿來做判斷。如果r1~r6中,有任何變數相同時,則重新再跑一次亂數;直到r1~r6中,沒有任何變數相同時才停止此迴圈。 var tNum:Number = 49;
get_btn.addEventListener(MouseEvent.CLICK,getNum);
function getNum(e:MouseEvent):void
{
    do
    {
        var r1:Number = Math.floor(Math.random() * tNum) + 1;
        var r2:Number = Math.floor(Math.random() * tNum) + 1;
        var r3:Number = Math.floor(Math.random() * tNum) + 1;
        var r4:Number = Math.floor(Math.random() * tNum) + 1;
        var r5:Number = Math.floor(Math.random() * tNum) + 1;
        var r6:Number = Math.floor(Math.random() * tNum) + 1;
        msg1_txt.text = String(r1);
        msg2_txt.text = String(r2);
        msg3_txt.text = String(r3);
        msg4_txt.text = String(r4);
        msg5_txt.text = String(r5);
        msg6_txt.text = String(r6);
    } while (r1 == r2 || r1 == r3 || r1 == r4 || r1 == r5 || r1 == r6 || r2 == r3 || r2 == r4 || r2 == r5 || r2 == r6 || r3 == r4 || r3 == r5 || r3 == r6 || r4 == r5 || r4 == r6 || r5 == r6);
}

click
您是否也製作出此效果呢?
如果您有更好的寫法,敬請歡迎指教!!

沒有留言 :

張貼留言

Related Posts Plugin for WordPress, Blogger...