好康道相報
加入部落軌道,讓你的部落格有更多人知道 《按此加入》《使用心得
欲轉貼本站文章者,請先留言徵求同意,並且註明出處及網址,謝謝您的配合

 

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

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

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

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

遊戲下載(184 kb,需要.NET Framework 2.0)
會比平常大的原因是因為大部分是圖啦

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

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

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

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

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

大家也來寫視窗程設吧~

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

Posted by catchtest at 痞客邦 PIXNET Comments(4) Trackback(0) Hits(957)


open trackbacks list Trackbacks (0)

Comments (4)

Post Comment
  • 小綠好強!@@
    我也想要會做這種東西呢!以後有時間我再來自己翻書研究好了...
    到時候在跟你請教^_^
  • 其實這種東西一點都不難做
    其他語言我不敢說
    但是VB已經很接近script language了
    就算是非本科系的學生只要看一下書就會了
    有不懂的地方歡迎問我喔~

    catchtestreplied on 2008/10/22 21:08

  • 您好!!無意間點到這個blog
    我對這個遊戲還瞞有興趣
    不知道可以寄給我整個程式碼??
  • 不好意思喔,因為我怕有人拿我的程式去做壞事
    所以程式碼我一般都是不會給別人的
    以前有篇加解密程式我也是沒有給人
    但如果你有不懂的地方,可在此篇發問
    我可以在部落格給你技術支援
    若我會的話一定幫你解答
    ---
    話說我們學校今年視窗課的第二次作業就是這個遊戲
    不知道作業截止了沒...

    catchtestreplied on 2008/11/23 18:18

  • 對遊戲有興趣幹嘛要程式碼= ="...
  • 你真是問到我的心坎裡了^^"

    catchtestreplied on 2008/11/23 18:19

  • 想請問一下
    像秒數還有次數的程式
    那邊要怎麼設定阿
    弄好久還是不成功
    (期末報告想做這個可是始終弄不出來..)
  • 先設定一個計時器,Interval=1000(一秒更新一次)
    然後設定一個變數time
    遊戲開始時設定time=60(假設一場60秒)
    然後計時器程式打上time-=1
    如果time=0時就把相關按鈕的Enable設成false
    並顯示時間結束訊息

    我是這樣的作法啦

    catchtestreplied on 2009/06/24 02:56

Comment Permissions: Allow commenting

Leave Comment

*Name/Nickname
E-mail
Personal Website
Comment Title
*Comment
* Private Comment