此案例分兩個部分來製作:
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 click](http://lh3.ggpht.com/_W11EwPhG1JM/TAJ-_CEoHoI/AAAAAAAABJU/vibkaaBNeQk/click%5B4%5D.png?imgmax=800)
您是否也製作出此效果呢?
如果您有更好的寫法,敬請歡迎指教!!
沒有留言 :
張貼留言