樂透彩開獎類別:
- 大樂透 ( 49 選 6 加 1,不可重覆 )
- 今彩539 ( 39 選 5,不可重覆 )
- 四星彩 ( 10 選 4,可重覆 )
-
Randomize 陳述式
初始化亂數產生器。
Randomize [number]
number 引數可以是任何的數值運算式。
附註
Randomize 使用 number
的值做為新的亂數種子來初始化 Rnd
函數的亂數產生器。如果省略 number ,則會以作業系統的目前時間來當做新的亂數種子。
如果沒有呼叫 Randomize
來初始化亂數產生器,則 Rnd 函數 (不提供引數)
在第一次被呼叫時會使用系統時間做為亂數種子,之後則使用前次呼叫
Rnd 函數所得的亂數值當做新的亂數種子。
備註
若想得到重覆的亂數序列,可以在呼叫
Randomize 之前先呼叫 Rnd
並且傳入一小於 0 的引數值。光是用相同的
number 呼叫 Randomize
兩次,是不會得到兩次相同的亂數序列的。
以下範例說明了 Randomize
陳述式的用法。
Dim MyValue, Response
Randomize
'
初始化亂數產生器。
Do Until Response = vbNo
MyValue = Int((6 * Rnd) + 1) '
產生介於 1
至 6
之間的亂數。
MsgBox MyValue
Response = MsgBox ("Roll again? ", vbYesNo)
Loop
-
Rnd 函數
傳回一個亂數值。
Rnd[(number)]
引數 number 可以是任何的數值運算式。
附註
Rnd 函數傳回的亂數值介於 0 和 1
之間,可等於 0,但不等於 1。number
的值會影響 Rnd 傳回的亂數值:
如果 number 的值是 ... |
Rnd 傳回的亂數值 |
小於 0 |
每次都是使用 number
當做亂數種子的相同結果。 |
大於 0 |
亂數序列中的下一個亂數值。 |
等於 0 |
最近一次產生過的亂數值。 |
省略 |
亂數序列中的下一個亂數值。 |
給定一個亂數種子後,便會產生一特定的亂數序列,因為每呼叫一次
Rnd
函數,它就會使用先前呼叫時所產生的亂數值當成新的亂數種子以產生新的亂數值。
在使用 Rnd 之前,最好先呼叫 Randomize
陳述式,但不要給任何引數,如此便會以作業系統的時間當作亂數種子來起始亂數產生器。
若想產生在某個範圍內 (非 0 到 1)
的整數亂數值,可使用下列公式:
Int((上限值 - 下限值 + 1) * Rnd + 下限值)
上述公式中,upperbound
是亂數範圍的上限,而 lowerbound
則是亂數的下限。
備註
若想重覆亂數序列,可以在使用
Randomize 之前先呼叫 Rnd
並且傳入一小於 0
的引數值。光是用同樣的亂數種子呼叫 Randomize
兩次的話,並不會得到兩次相同的亂數序列。
開啟Visual Basic。
選擇「標準執行檔」,再按下「開啟」
。
編排程式視窗的版面,新增控制項:(請按照順序!!由左往右、由上往下。)
利用程式碼來設定控制項的「屬性」:
按「檢視」功能表中的「程式碼」選項 ,選擇
Form 及 Load 項目
在 Private Sub Form_Load() 及 End
Sub 間輸入程式碼
[註]綠色文字是程式說明,可以不用輸入
;紅色文字是數字!!
進階引用圖片:(按滑鼠右鍵選擇另存圖片,即可下載使用!!)
編寫開獎程式:
雙擊 form1 的 Command1 鈕。
或按「檢視」功能表中的「程式碼」選項,選擇
Command1 及 Click 項目。
在 Private Sub Command1_Click() 及 End Sub 間輸入程式碼
。
[註1]綠色文字是程式說明,可以不用輸入
;紅色文字代表數字;
[註2]藍色的文字是程式預設的變數或函數…!!
按一下「工具列」的(開始)或是上方功能鍵的「F5」來測試程式的執行;按一下「工具列」的(結束)來停止測試。
如果發生程式錯誤的狀況,請檢查程式碼是否輸入正確;修正後再測試一次,直到程式能夠正常執行為止。
按「儲存專案」,將表單檔(J20099-3.frm)及專案檔(J20099-3.vbp)儲存於
電腦桌面上。
如果程式碼輸入正確無誤,才能執行下一步驟[製成可於Windows執行的程式檔(exe)]!!
開啟「檔案」功能表,選擇「製成J20099-3.exe」,並儲存於電腦桌面上。
再一次「儲存專案」。
關閉 Visual Basic 。
將存放在桌面上的 J20099-3.exe 上傳到「作業」區的「程式
設計(三)樂透彩(exe)」;
J20099-3.vbp 上傳到「作業」區的「程式設計(三)樂透彩(vbp)」;
J20099-3.frm 上傳到「作業」區的「程式設計(三)樂透彩(frm)」。
(若作業未完成,至少必須上傳專案檔(*.vbp)及表單檔(*.frm),以便下次繼續補做完成。)
執行結果範例:
作業檔案可暫時儲存於電腦桌面,但必須在下課(離開教室)前刪除(資源回收筒亦須清空);
若離開後一經發現留存在電腦桌面上,將扣減課堂表現分數。
進階版(數字亂數跑動):
- 加入一個 Timer 的控制項。
- 將 Timer 的 Interval 屬性設為
1 。
- 將原先在
Private Sub Command1_Click() 和
End Sub 中間的程式碼剪
下並貼到
Private Sub Timer1_Timer() 和
End Sub 中間。
- 將
Private Sub Timer1_Timer() 和
End Sub 中間的下列最後2行程式碼刪除。
Command1.Caption = "再一次"
Command1.Enabled = True
- 在
Private Sub Command1_Click() 和
End Sub 中間加入新的程式碼:
If Timer1.Enabled Then
Timer1.Enabled = False
Command1.Caption = "再一次!!"
Else
Timer1.Enabled = True
Command1.Caption = "停止!!"
End If