天天看點

C#零基礎入門04:打老鼠初級之枚舉、重構、事件處理器

一:為界面加入“開始”、“暫停”、“停止”

經過上節課程我們的互動的過程,我們的程式增加了使用者友好度,同時也可以記錄更為詳盡的成績了。但是我們仍然發現有很多地方需要值得改進(或許你還發現了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按鈕事件現在就做了解,那麼我們就該知道這個概念。那麼,什麼叫給事件變量指派呢?其實我們已經見過了這樣的代碼了:

C#零基礎入門04:打老鼠初級之枚舉、重構、事件處理器

在我們這個遊戲當中,我們目前的代碼中:

C#零基礎入門04:打老鼠初級之枚舉、重構、事件處理器

就是一個事件處理器,它被指派給Button的Click事件變量的語句是VS自動給我們生成在了Form1.Designer.cs中了,如下:

            this.buttonStart.Click += new System.EventHandler(this.buttonStart_Click);

我們在今天的編碼中,并沒有編寫如上的語句,是因為VS做好事,幫我們寫了這樣的語句,但是,如果我們一定要深究,為什麼我Click之後,它就會自動執行遊戲開始的代碼呢?OK,看一看Form1.Designer.cs,就什麼都知道了。

微信掃一掃,關注最課程(

),擷取更多我的文章,擷取軟體開發每日一練

C#零基礎入門04:打老鼠初級之枚舉、重構、事件處理器

本文基于

Creative Commons Attribution 2.5 China Mainland License

釋出,歡迎轉載,演繹或用于商業目的,但是必須保留本文的署名

http://www.cnblogs.com/luminji

(包含連結)。如您有任何疑問或者授權方面的協商,請給我留言。