在前一文"用VB程式語言設計"大家來找碴"小遊戲(2)"用到語法:My.Computer.Audio.Play("..\..\Resources\音效檔名.副檔名")取代MsgBox("訊息內容"),令電腦播放音效,如下:
第二,修改程式碼,用音效取代提示訊息。
比較左右圖片,在右圖上每次以滑鼠點選不同處,就會發出"tada"音效(微軟舊作業系統音效),如果點錯,也會發出"uhoh"音效(ICQ音效)。
因為VB的預設路徑指向方案資料夾內的"debug"子資料夾,因此若將程式會用到所有的聲音檔(或圖形檔)直接存入debug資料夾內,則語法My.Computer.Audio.Play("..\..\Resources\音效檔名.副檔名")內標示底線處之路徑可以省略,只留完整檔名即可。
圖形檔一般都配合PictureBox顯示,其語法便可用:PictureBox1.Image = Image.FromFile("圖形檔名.副檔名")
此外,對於遊戲中已點選出不同處應該要有記號,來表示已經找到不同處,因此本文說明改善程式,以增加記號來標示不同處已找到...
<本文開始>----------------------------------------------
待續...
2019年3月12日 星期二
2019年2月28日 星期四
用VB程式語言設計"大家來找碴"小遊戲(2)
在前一文"用VB程式語言設計"大家來找碴"小遊戲(1)"用到語法:MsgBox("訊息內容"),來達成提示訊息的遊戲互動,如下:
第一,依據遊戲規則建立程式雛形(以下程式範例假設有5個不同處):
比較左右圖片,在右圖上每次以滑鼠點選不同處,就有提示找到訊息,如果點錯,也會提示答錯訊息。
但是遊戲如果沒有音效,就會少了趣味,因此本文說明修改程式,以音效取代提示訊息...
<本文開始>------------------------------------------------
第二,修改程式碼,用音效取代提示訊息。
比較左右圖片,在右圖上每次以滑鼠點選不同處,就會發出"tada"音效(微軟舊作業系統音效),如果點錯,也會發出"uhoh"音效(ICQ音效)。
[程式撰寫]此處只用一種語法:My.Computer.Audio.Play("..\..\Resources\音效檔名.副檔名")取代MsgBox("訊息內容"),令電腦播放音效。
第一,依據遊戲規則建立程式雛形(以下程式範例假設有5個不同處):
比較左右圖片,在右圖上每次以滑鼠點選不同處,就有提示找到訊息,如果點錯,也會提示答錯訊息。
但是遊戲如果沒有音效,就會少了趣味,因此本文說明修改程式,以音效取代提示訊息...
<本文開始>------------------------------------------------
第二,修改程式碼,用音效取代提示訊息。
比較左右圖片,在右圖上每次以滑鼠點選不同處,就會發出"tada"音效(微軟舊作業系統音效),如果點錯,也會發出"uhoh"音效(ICQ音效)。
[程式撰寫]此處只用一種語法:My.Computer.Audio.Play("..\..\Resources\音效檔名.副檔名")取代MsgBox("訊息內容"),令電腦播放音效。
- 到網路下載"tada.wav"及"uhoh.wav"音效檔。
- 將音效檔複製到Resources資料夾內。
- 開啟程式碼編輯視窗,先在Label1程式碼區塊內的敘述"MsgBox("訊息內容")"末端,按Enter鍵,跳下一空白行輸入:My.Computer.Audio.Play("..\..\Resources\tada.wav")
- 再將Label1程式碼區塊內的敘述"MsgBox("訊息內容")"前端輸入'符號(半形單引號),讓該行敘述變成註解而無法執行。用註解取代刪除敘述,一方面可以呈現程式碼修改歷程,一方面也可以避免日後反悔而重寫。你會在程式碼編輯視窗看見以下內容,紅色標示表示你輸入的程式碼:
Public Class Form1
Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.ClicK
'MsgBox("你找到了!")
My.Computer.Audio.Play("..\..\Resources\tada.wav")
End Sub
End Class - 重複3.及4.的作法,完成Label2~6的程式碼編輯。
- Label6是用來當作相同處,所以播放音效檔名改成uhoh.wav。
............程式已經可以播放音效了,你可以按 ▶開始 玩玩看........................
2019年2月25日 星期一
用VB程式語言設計"大家來找碴"小遊戲(1)
本文藉由Visual Basic(VB)程式語言來設計"大家來找碴"的小遊戲,並分成幾個篇幅來模擬以初學者如何來逐步改良遊戲,區分篇幅用意其實表示任何程式都是經由一再修改,才會愈改愈好,沒有程式設計是一步登天的。
首先,你必須對Visual Basic這套軟體操作介面要有基本概念,不過會想讀下去應該對VB已經有基本概念...
第一,依據遊戲規則建立程式雛形(以下程式範例假設有5個不同處):
比較左右圖片,在右圖上每次以滑鼠點選不同處,就有提示找到訊息,如果點錯,也會提示答錯訊息。
[表單設計]
[程式撰寫]此處只用一種語法:MsgBox("訊息內容"),令電腦提示訊息。
首先,你必須對Visual Basic這套軟體操作介面要有基本概念,不過會想讀下去應該對VB已經有基本概念...
第一,依據遊戲規則建立程式雛形(以下程式範例假設有5個不同處):
比較左右圖片,在右圖上每次以滑鼠點選不同處,就有提示找到訊息,如果點錯,也會提示答錯訊息。
[表單設計]
- 設定表單背景圖:從網路上找人家已經設計好的左右對照圖片,當然也可以自己用影像處理軟體來做圖,但比較麻煩,找現成的就好,然後在Form1屬性BackgroundImage匯入作為專案資源檔。
- 置入6個標示:用Label1~5來標示5個不同處,再用Label6當作相同處。但是Label如同圖層概念,Label6會蓋住Label1~5,所以要將Label6移到最下層(按滑鼠右鍵設定),如此滑鼠才可以點到Label1~5。
- 調整標示大小:配合不同處大小調整Label1~5的尺寸(尺寸範圍表示滑鼠點選的作用區),不要重疊,然後調整Label6尺寸蓋住整個右圖,如下圖(本圖已將Label6屬性BackColor改為透明色以凸顯5個不同處)。

- 去除標示背景顏色:將Label1~6屬性BackColor改為透明色(Transparent,在下拉選單中間Web標籤第1項可以找到),如下圖。

- 清除Label1~6屬性Text的內容。
[程式撰寫]此處只用一種語法:MsgBox("訊息內容"),令電腦提示訊息。
- 在Label1上用滑鼠點兩下,開啟程式碼編輯視窗,在游標處輸入:MsgBox("你找到了!"),你會在程式碼編輯視窗看見以下內容,紅色反白表示撰寫的程式碼:
Public Class Form1
Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click
MsgBox("你找到了!")
End Sub
End Class
註:上述程式碼表示~當你用滑鼠點一下Label1,程式提示"你找到了!"的訊息。 - 重複1.的作法,完成Label2~6的程式碼。
- Label6是用來當作相同處,所以提示訊息改成:MsgBox("你找錯了!")
............程式已經可以執行了,你可以按 ▶開始 玩玩看........................
訂閱:
文章 (Atom)