2009-02-16

樂高 NXT 樂透機

原本想使用49顆乒乓球做一台樂透機,發現乒乓球體積實在太大,在還沒有找到合適的小球之前,就先來寫個電子樂透機的程式。

樂透的特點跟賓果遊戲或是抽籤很像,就是從一堆號碼中慢慢選出一些號碼。

最重要的是選出的號碼不可以重複,也就是選過的號碼不會再重複出現。

會有這個挑戰也是因為看到Erin's Blog的文章:

[LEGO] How to make an "Unique Random Number" my Block


Erin的作法是將亂數的值記錄下來,與陣列中已經儲存的數值進行比較,檢查是否重複。

探奇的作法有一點不同,我們的作法是先設定陣列中的值,當作旗標。產生亂數後,直接到陣列中相對應號碼的變數,檢查旗標狀態,確認是否重複。

好處是可以節省數值比較時間,壞處是沒有立即紀錄亂數的產生順序。

有興趣的讀友可以參考下列圖片的作法:



圖片連結,會比較大一點:http://tw.myblog.yahoo.com/touch_classroom/photo?pid=2745

下面是我們的實驗影片:

希望老天保佑有中啦!

這個程式也可以擴充為賓果遊戲機或是尾牙抽籤機.......有很多應用喔!

歡迎大家一起討論分享你的經驗!(程式經驗,不是中獎經驗喔!


2 則留言:

  1. 老師您好!
    可不可以把程式寄給我eee4017@gmail.com
    謝謝!
    [版主回覆07/17/2009 07:55:35]你好:

    程式已經寄出,歡迎討論!


    回覆刪除
  2. 老師您好!
    可不可以把程式寄給我mdjh714@gmail.com
    謝謝!
    [版主回覆12/30/2012 21:49:14]你好:

    我已經將程式寄出,請參考。

    歡迎討論!

    (我將你的重複留言也刪除了。)

    回覆刪除

探奇歡迎大家留言討論!謝謝分享你的意見。