2016年5月26日 星期四

計概Ⅳ 3-6 上機作業( VB8 )

教學目標自定函數、Rnd()函數計時器(Timer)陣列的應用
                  
題        目:開啟新檔,設計一個「猜數字遊戲」的程式,此遊戲的規則是:
                    (1) 由使用者輸入 3 個介於0~9之間的整數(數字可重覆),

                    (2) 按「Run」時電腦不斷顯示3 個隨機整數,
                    (3) 按「看結果時Hole住顯示的數字,並將使用者輸入的數字與
                         電腦產生的3個隨機整數做比對(不管數字的次序),而顯示猜對幾個數字。
                   
實習步驟(1)在單上佈建3個標籤(Label)、3個文字方塊(TextBox)及
                         2個按鈕(Button)
1個
計時器(Timer),並設定相關屬性,
                         表畫面如下圖:

                     (2)撰寫相關程式碼並測試。
                     (3)改變計時器(Timer1)Interval 屬性值 (單位為毫秒 ),以觀看
                          按「Run」時電腦顯示隨機整數之速度。

參考程式碼
Public Class Form1
    Dim k As Short       '宣告全域變數 k
    Function r()
        Randomize()
        r = Int(Rnd() *          )    'r為介於0~9之間的隨機整數
    End Function

    Private Sub Button1_Click(.....) Handles Button2.Click       ' 按「Run」
        Timer1.Enabled =                       '啟動計時器(Timer1)
    End Sub

    Private Sub Timer1_Tick(........) Handles Timer1.Tick
        Dim user(2), a, i, j As Short
         '將TextBox1~TextBox3的值放入陣列user(0)~user(2)中
        user(0) =                            
        user(1) =                            
        user(2) =                            
        Label3.Text = ""
        k = 0
        '產生3個0~9之間的隨機整數,並放於Label3中
        For i = 1 To 3
            a =                       '呼叫自定函數r
            Label3.Text &= a & "  "
            j = 0
            ' 逐一比對 a 與陣列user(0)~user(2)中的值是否相等,若相等則 k=k+1
            Do While j <= 2  
                If                          Then k = k + 1
                j = j + 1
            Loop
        Next i
    End Sub

   Private Sub Button2_Click(.......) Handles Button1.Click      '按「看結果
        Timer1.Enabled =                      '關閉計時器(Timer1)
         ' 判斷 k 值,以顯示猜對幾個數字
        If                Then
            MsgBox("全對了!好厲害!", MsgBoxStyle.Exclamation, "結果")
        ElseIf                 Then
            MsgBox("猜對了 " &          & " 個數字", MsgBoxStyle.Information, "結果")
        Else
            MsgBox("真可惜,都沒有猜對!", MsgBoxStyle.Critical, "結果")
        End If
    End Sub
 
End Class

執行結果參考畫面


=>  按「看結果



=>  按「看結果



=>  按「看結果



=>  按「看結果




沒有留言:

張貼留言