一:為界面加入“開始”、“暫停”、“停止”
經過上節課程我們的互動的過程,我們的程式增加了使用者友好度,同時也可以記錄更為詳盡的成績了。但是我們仍然發現有很多地方需要值得改進(或許你還發現了BUG?不着急。),首要的,似乎不應該讓界面一出現,遊戲就開始,我們需要為程式增加“開始”、“暫停”、“停止”按鈕。而且,遊戲太功能太單一了,我們似乎應該增加一個難度等級,沒錯,暫時就分為“簡單”、“中等”、“難”吧。
現在,我們就來增加這些功能,檢視視訊。
二:視訊
非公開部分,請聯系最課程(
www.zuikc.com)
三:為遊戲增加難度等級
完成了UI,接下來就要為那麼多的事件處理器增加遊戲的邏輯,功能實作請看視訊。
四:視訊
五:視訊總結
1:首先,我們學到了如何使用如下快捷鍵,要知道,熟練的使用快捷鍵會增加你寫代碼的信心:
Tab:讓VS幫我們快速完成代碼;
Ctrl+C:不僅僅是複制哦,而是在不選中任何内容的時候進行複制;
Ctrl+D:預設在目前之上粘貼剪貼闆中的整行;
Ctrl+Shift+箭頭:選單詞;
Alt+右鍵頭:智能感覺;
Ctrl+K+D:自動對齊代碼;
2:用switch取代if
當出現太多的if的使用,可以嘗試使用switch來進行取代if。當然如果出現了3個以上的if條件,就要小心了,也許我們應該修改代碼了,因為太多的if條件,讓代碼顯得那麼的不面向對象。别急,我們即将會學到面向對象。
3:新增檔案
在這個例子中,我們學習了如何為項目增加一個檔案;
4:如果出現了重複代碼,就需要進行提煉方法,這種讓代碼品質持續改進的方法,有一個很時髦的名字:重構
我們在下下節課中,将會學習面向對象程式設計(OOP),我們會進行大量的重構,我們應該要期待OOP,因為這會讓我們像寫詩一般去寫代碼。
5:枚舉
枚舉在C#中,是一個跟class等級别重要的概念。我們已經在之前的課程裡講過,類有屬性和行為,而枚舉呢,隻有一組代表不同含義的指,如:周一到周日,可以定義一個這樣的枚舉:
enum Days {Sat, Sun, Mon, Tue, Wed, Thu, Fri};
我們在我們的遊戲中,将難度定義成了一個枚舉,如下:
enum Level
{
Basic,
Middle,
High
}
6:事件處理器
事件處理器是什麼,就是方法,如果一個方法被指派給了一個事件變量,那麼這個方法就是一個事件處理器。原則上,這個概念我們會在下一小節講到,包括委托處理器,但是如果你一定要對Button按鈕事件現在就做了解,那麼我們就該知道這個概念。那麼,什麼叫給事件變量指派呢?其實我們已經見過了這樣的代碼了:

在我們這個遊戲當中,我們目前的代碼中:
就是一個事件處理器,它被指派給Button的Click事件變量的語句是VS自動給我們生成在了Form1.Designer.cs中了,如下:
this.buttonStart.Click += new System.EventHandler(this.buttonStart_Click);
我們在今天的編碼中,并沒有編寫如上的語句,是因為VS做好事,幫我們寫了這樣的語句,但是,如果我們一定要深究,為什麼我Click之後,它就會自動執行遊戲開始的代碼呢?OK,看一看Form1.Designer.cs,就什麼都知道了。
微信掃一掃,關注最課程(
),擷取更多我的文章,擷取軟體開發每日一練
本文基于
Creative Commons Attribution 2.5 China Mainland License釋出,歡迎轉載,演繹或用于商業目的,但是必須保留本文的署名
http://www.cnblogs.com/luminji(包含連結)。如您有任何疑問或者授權方面的協商,請給我留言。