日期:2024/12/19( |) 線上:5 今日:6 總訪客: 649785 來自:18.191.135.20

 首頁|公告   會員 [本校|他校|查詢|認證|說明  課程 [高中|行列30|ASP  網站連結   問題解惑   
國二電腦:程式設計(三) - 樂透彩開獎 回到前一頁

  • 程式設計(三) - 樂透彩開獎:


    • 樂透彩開獎類別:

      • 大樂透 ( 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),以便下次繼續補做完成。)

    • 執行結果範例:

    • 作業檔案可暫時儲存於電腦桌面,但必須在下課(離開教室)前刪除(資源回收筒亦須清空);
      若離開後一經發現留存在電腦桌面上,將扣減課堂表現分數。

    • 進階版(數字亂數跑動):

      1. 加入一個 Timer 的控制項。
         
      2. TimerInterval 屬性設為 1
         
      3. 將原先在 Private Sub Command1_Click() End Sub 中間的程式碼剪
        下並貼到 Private Sub Timer1_Timer() End Sub 中間。
         
      4. Private Sub Timer1_Timer() End Sub 中間的下列最後2行程式碼刪除。
          Command1.Caption = "再一次"
          Command1.Enabled = True

         
      5. Private Sub Command1_Click() End Sub 中間加入新的程式碼:
          If Timer1.Enabled Then
             Timer1.Enabled = False
             Command1.Caption = "再一次!!"
          Else
             Timer1.Enabled = True
             Command1.Caption = "停止!!"
          End If




         

  • ※備註:

    • 控制項的名稱編號與程式碼有關,請按照順序來新增控制項!!
    • 程式碼輸入完畢後,請再一次詳細檢查並自行測試程式看看是否沒有錯誤!!
    • 請注意程式碼的一些符號為(半形字),請勿輸入成中文(全形字),例如:(””)
    • 儲存檔案時,請注意表單檔和專案檔的資料夾、檔名是否正確。

  建議解析度 1024*768 以上, True Colors !! Copyright © 1995-2024 Essa Laboratory, All rights reserved.