所以,ResetGame() 被呼喚以後,玩家看到的環境可能會是如許:CommandButton1 上面顯示的是 "7"、CommandButton2 上面顯示的是 "4"、CommandButton3 上面顯示的是空白......等等,其實每個 CommandButton 都還在它的原位上沒動。
接下來,玩家就會用滑鼠指標去點他想移動的方塊。
把這 9 個按鈕依上圖的挨次排成所謂的「九宮格」,於是我們就把聰明盤的九個方塊做好了。讀到後面
Randomize '亂數產生器初始化
Sub EnableBlocks() '使那 9 個方塊按鈕有效
Dim i As Integer
For i = 1 To 9
Controls("CommandButton" & i).Enabled = True
Next i
End Sub
移動?......對啦!而今你知道了吧!所謂的「移動」也只是「改

Sub DisableBlocks() '使那 9 個方塊按鈕無效
Dim i As Integer
For i = 1 To 9
Controls("CommandButton" & i).Enabled = False
Next i
End Sub
For i = 1 To 9
Do
RndNum = Int(Rnd() * 9) '產生 0~8 的亂數
NewNum = True
If i > 1 Then '檢查 a 陣列裡是否已有此整數
For j = 1 To i - 1
If a(j) = RndNum Then NewNum = False
Next j
End If
Loop While Not NewNum '重覆此迴圈直到產生的整數是 a 陣列裡沒有的
、CommandButton1 的 "Caption" 屬性改成 "2"......依此類推,惟有 CommandButton9 的 "Caption" 屬性改成空的(什麼都沒有)翻譯
怎麼把方塊的分列順序弄亂?
在兩個副程式裡,你可以看到「Controls(節制項名稱).屬性」如許的寫法來改按鈕的屬性,這裡也示範了利用方塊按鈕名稱的特徵,以 for......next 迴圈一次解決 9 個按鈕的屬性更改翻譯
Sub ResetGame() '重設角逐
Dim RndNum As Integer翻譯社 a(9) As Integer, i As Integer
Dim NewNum As Boolean
"使按鈕無效" 就是要把它的 "Enabled" 屬性設為 "False",當遊戲起頭的時刻,要 "使按鈕有用" 就是要把它的 "Enabled" 屬性設為 "True"。因為程式裡會重複用到,所以天成翻譯公司寫成兩個副程式:
當玩家按下 "起頭/重玩" 鈕的時刻,CommandButton10_Click() 裡會做底下這幾件事:
前一篇介紹的九宮格聰明般遊戲,程式分成兩個部分,一個是模組裡的部分 ,一個是 Userform 的部份翻譯模組裡的是計時的 Timer 程式碼,它不是這個遊戲的重點 (不計時也能夠),在此暫且略過。天成翻譯公司想介紹的是遊戲視窗 (也就是 Userform) 裡那些方塊按鈕的道理。
怎麼改變方塊按鈕的屬性?
請先 登入 以發表留言。