以前的視窗老師跟我要兩年前在課堂上的這個臨時作業...
不過當時我覺得我做的太爛了所以沒有存檔
所以現在就加上當時沒做的功能重寫一次,當作練習

遊戲就是簡單的記憶翻牌遊戲(俗稱對對碰)
因為這只是練習用,所以跟尋常的對對碰無異
只有增加當時沒寫的一點點小功能
像是按鈕數可以動態決定(不過最大11*7,因為螢幕不夠用了=__=)
還有增加音效或小限制
按鈕可以設奇數個,多出來的那一個是擾亂用的XD

圖片使用神奇寶貝珍鑽版的圖片
理由一是變化多,理由二是好找,理由三是格式相同且不會太大
每次開始遊戲的圖片是從151隻裡面隨機挑出來的
為什麼不用493隻?因為版面最大也只能挑出38個
全部圖片都包進去實在太佔空間了

順便提醒一下,如果按鈕數超過50個,並在100秒內過關
會有驚喜喔( ̄ー ̄)

遊戲下載(184 kb,需要.NET Framework 2.0)
會比平常大的原因是因為大部分是圖啦
原始碼(請不要進行二次散布,遊戲中需要的圖片、音效存在bin\debug中)

-----
由於程式實在是太過簡單,所以我嘗試簡短了變數的宣告
比方說一般的設計應該會宣告按鈕陣列
還有記憶按鈕實際編號的數字陣列
但其實數字陣列可以不用另外宣告
因為VB的每個物件都有Tag屬性
可以讓你放置數字或文字等任何東西,就像備註一樣
這麼好用的東西怎麼可以不用呢?

還有,有些人會把選項的設定再宣告一個全域變數使用
(例如選項的Form設定X,Y大小,在遊戲畫面的Form又宣告一個X,Y紀錄)
這其實也是多此一舉
只要確定選項在遊戲進行時不會被改掉
直接去抓別的Form的物件的變數不就好了?

另外就是翻牌失敗牌面會暫留後翻回去
這段我以前竟然看到有人用Timer來寫
不用這麼麻煩啦,直接用Thread.Sleep暫停畫面就好了
(缺點是快速連按時會有lag的感覺)

還有一些很基本的方法
像是用AndAlso跟OrElse來取代And跟Or
這種我就不說了(我還是說了嘛)

以寫視窗程式來說,VB絕對比知名的C,C++,Java還好用
只要靠著拉物件跟口語化的程式語法
絕對可以讓寫程式變成一種樂趣

大家也來寫視窗程設吧~

----
本日分享歌曲 AiM - 誰より

arrow
arrow
    全站熱搜

    蕭雲 發表在 痞客邦 留言(23) 人氣()