亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

C#零基礎入門03:打老鼠初級

2019-11-14 16:07:20
字體:
來源:轉載
供稿:網友

一:在源碼管理器中打開VS

注意,下文這樣的打開方式是在 TFS 的源碼服務器中打開解決方案。如果我們使用 SVN,則直接在硬盤上打開解決方案就可以了。

打開VS:

wps_clip_image-23033

然后按上圖中的步驟1和2(雙擊2處),打開我們的解決方案,如下:

wps_clip_image-23782

注意,雙擊紅框,會顯示Solution Explorer。

我們在上一節中,只是創建了打老鼠的解決方案,還完全沒有編寫任何代碼。這個時候運行解決方案一下(記得嗎,菜單中Debug->Start without debug,或Ctrl+F5。我喜歡用快捷鍵,而且你也必須快速熟悉起這些快捷鍵,使用快捷鍵可以節約時間)。

運行起來后,是一個空白的Windows窗體,如下:

wps_clip_image-2595

 

二:導入資源文件

現在我們就要在這個窗體上打老鼠了。

打老鼠這個游戲的最終效果圖如下:

wps_clip_image-9368

為了完成這個游戲,有兩個圖片資源要用到(請自行右鍵下載):

bg

bg.png

mouse

mouse.png

請把這兩個圖片保存到我們的項目的根目錄下,請查看下節視頻進行圖片資源的導入及背景設置:

最后,我們看到的整個VS畫面應該是這樣的:

wps_clip_image-14667

 

三:實現最簡單的功能

接下來,我們就該簡單的把打老鼠游戲的整個編碼實現思想說一下了。我們看到背景上有11個老鼠洞:

1:首先給11個老鼠洞都覆蓋上老鼠形象;

2:把全體老鼠形象設置為不可見;

3:給程序設定一個始終,讓時鐘每隔1秒隨機顯示一個老鼠形象;

 

四:視頻

非公開,請聯系 最課程(www.zuikc.com)

 

五:代碼講解

現在,我們來看看視頻中的代碼到底是什么意思:

        PRivate List<PictureBox> _mouses = new List<PictureBox>();
        private Timer _timer = new Timer();
        private Random _random = new Random();
        private PictureBox _oldMouse;
        private int _score = 0;

在這里,我們定義了一些變量,其中:

  _mouses 用來存放全部的老鼠圖片;
  _timer 是一個計時器;
  _random 在這里代表了一個隨機數;
  _oldMouse 在這里當前正在出現的那只老鼠;
  _score 用于記錄分數,暫時還沒起到作用;

再看下面這段代碼:

            foreach (Control item in this.Controls)
            {
                if(item is PictureBox)
                {
                    _mouses.Add(item as PictureBox);
                }
            }

            _timer.Interval = 1000;
            _timer.Tick += _timer_Tick;
            _timer.Start();

  foreach 表示這是一個循環,我們需要把所有的老鼠都加入到 _mouses 這個變量中去,因為一開始這個變量中是空的,沒有老鼠的;
   _timer.Interval = 1000; 表示為定時器的時間設置為 1 秒;
   _timer.Tick += _timer_Tick; 表示定時器定時時間到的時候,要觸發一個函數,這個函數叫 _timer_Tick;
   _timer.Start(); 表示定時器開始計時吧;

再看定時器觸發的這個函數:

        void _timer_Tick(object sender, EventArgs e)
        {
            if(_oldMouse != null)
            {
                _oldMouse.Visible = false;
            }

            int index = _random.Next(1, 11);
            _oldMouse = _mouses[index];

            _oldMouse.Visible = true;
        }

在這個函數里面的邏輯就是,如果當前有老鼠正在顯示著,就應該先隱藏,讓另外一只老鼠出現;

運行程序,我們就會發現每隔 1 秒,就會隨機出現一只老鼠;

現在,我們繼續完善代碼,要實現:當老鼠形象出現的時候,鼠標擊中了老鼠則計分+1,并顯示出來;

實際上,只要修改上面的 foreach 循環中的代碼為:

            foreach (Control item in this.Controls)
            {
                if(item is PictureBox)
                {
                    _mouses.Add(item as PictureBox);
                    item.MouseDoubleClick += item_MouseDoubleClick;
                }
            }

即,為老鼠增加鼠標雙擊事件,其事件方法為:

        void item_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            _score++;
            _labelScore.Text = _score.ToString();
        }

這就完成了“鼠標擊中了老鼠則計分+1,并顯示出來”,我們看到,上面多了個沒見過的變量  _labelScore,它是怎么出現的呢,看視頻。

 

六:截止目前為止的打老鼠知識點

到目前為止,我們實現的打老鼠游戲雖然簡單,卻已經包含了很多的語法知識,如下11個知識點:

wps_clip_image-14954

接下來,我們就需要一一學習一下這些知識。(注意,在本節下面的詳細敘述當中,各個知識點我會只講到當前必須知道的程度,隨著課程的深入會逐步補充各個知識點的深入闡述。)

1和2:被引用的命名空間以及定義當前的類的命名空間

把類在歸類一下,就叫命名空間。

命名空間和文件夾的關系?沒有關系!當然,常用的做法是,一個命名空間就使用一個文件夾。

如果我們在當前類中要引用到別的類,則方便的做法是把別的類所在的命名空間用using引入進來,如上圖的1;

反過來,我們現在在編寫打老鼠這個類,就需要為當前的這個類定義一個命名空間,如上圖的2;

3和4:類和實例

在C#的世界中,代碼是以類為單位組織起來的,我們可以看到:

public partial class Form1 : Form

Form1就是一個類。關于一個類的最簡單的形式如下:

class Mouse

{

}

至于打老鼠游戲中的Form1這個類聲明當中的partial和后面的冒號后的內容,我們暫時可以不管它。

類和文件的關系?沒有關系!當然,常用的做法是,一個類使用一個文件。

對類使用new關鍵字,就產生了類的一個實例,如:

Mouse aMouse = new Mouse();

5和10和11. 變量

在類以內,方法以外,沒有修飾static的變量,為實例變量;

方法以內的變量,叫做局部變量;

變量在方法的聲明內,叫做方法參數;

變量(或者說變量名),代表的就是某個你要操作的對象。

6和9. 方法

方法定義了類的行為,也就是類可以干什么。

有一類特殊的方法叫做構造器。它是在產生類的實例的時候首先被調用的。

7. 循環結構

foreach,for,while,都屬于循環結構,光看代碼,大家應該都能準確理解起意思,不在贅述。

8. 條件結構

If屬于條件結構,很簡單,不再贅述。

同屬于條件結構的還有switch和三元運算符,等我們使用到的時候一并講解,這里不再贅述。

微信掃一掃,關注最課程,獲取每日一練


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产手机视频精品| 亚洲精品乱码久久久久久金桔影视| 日韩国产在线看| 欧美日韩裸体免费视频| 色偷偷888欧美精品久久久| 欧美做爰性生交视频| 伊人伊人伊人久久| 69视频在线播放| 日韩欧美在线播放| 精品日韩美女的视频高清| 成人精品福利视频| 91成品人片a无限观看| 国产成人精品999| 国产日韩欧美电影在线观看| 国产精品一二三在线| 4438全国亚洲精品在线观看视频| 日韩av网站在线| 成人午夜在线观看| 狠狠色噜噜狠狠狠狠97| 日韩欧美在线第一页| 久久99精品久久久久久噜噜| 国产+成+人+亚洲欧洲| 亚洲第一精品自拍| 午夜精品久久久久久久99热浪潮| 北条麻妃99精品青青久久| 亚洲人成毛片在线播放| 日韩电影免费观看中文字幕| 97在线精品国自产拍中文| 欧美激情久久久| 国产精品aaa| 精品久久久久久久久久国产| 久久久成人的性感天堂| 国产欧美va欧美va香蕉在| 国产精品麻豆va在线播放| 久久九九热免费视频| zzijzzij亚洲日本成熟少妇| 欧美福利视频在线| 亚洲第一视频在线观看| 成人在线国产精品| 欧美小视频在线观看| 久久久久久久久中文字幕| 亚洲天堂影视av| 欧美精品一二区| 日本a级片电影一区二区| 色婷婷av一区二区三区久久| 国产精品九九九| 日韩精品福利在线| 亚洲精品91美女久久久久久久| 久久人人爽人人爽人人片av高请| 亚洲欧洲高清在线| 欧美电影免费观看高清完整| 欧美激情乱人伦一区| 欧美黄色片免费观看| 欧美国产日韩在线| 久久免费少妇高潮久久精品99| 亚洲国产精品电影| 亚洲福利小视频| 亚洲电影免费观看高清完整版在线| 国产欧美一区二区三区在线| 日韩av资源在线播放| 日韩一区二区三区xxxx| 国产精品视频xxxx| 91日韩在线播放| 91牛牛免费视频| 97人人爽人人喊人人模波多| 国产精品免费一区| 少妇久久久久久| 亚洲自拍偷拍色片视频| 欧美成人网在线| 久久精品亚洲一区| 亚洲电影av在线| 欧美中在线观看| 国产精品一二三视频| 欧美日韩精品在线视频| 欧美孕妇与黑人孕交| 欧美成年人视频网站欧美| 最好看的2019的中文字幕视频| 最近更新的2019中文字幕| 欧美最猛黑人xxxx黑人猛叫黄| 精品高清美女精品国产区| 国产性色av一区二区| 国语自产精品视频在线看抢先版图片| 亚洲理论电影网| 色婷婷综合久久久久中文字幕1| 亚洲色无码播放| 狠狠躁夜夜躁人人躁婷婷91| 日韩国产高清污视频在线观看| 久久亚洲国产精品成人av秋霞| 日韩欧美在线一区| 最新国产精品亚洲| 欧美野外猛男的大粗鳮| 欧美国产中文字幕| 在线亚洲欧美视频| 91天堂在线视频| 国产精品久久久久久久久久久久久| 91九色在线视频| 亚洲精品欧美日韩专区| 日本精品久久久久久久| 日韩成人性视频| 亚洲美女性生活视频| 欧美高清在线观看| 国产精品影院在线观看| 久久精品中文字幕免费mv| 91在线观看免费高清| 91精品国产91久久久久久| 午夜精品三级视频福利| 亚洲小视频在线| 亚洲丁香婷深爱综合| 国产视频久久久久| 国产精品成久久久久三级| 午夜精品久久久久久久99热| 国产精品一区二区三区在线播放| 韩日欧美一区二区| 精品久久中文字幕| 久久精品欧美视频| 欧美激情久久久久久| 亚洲国产精品推荐| 中国日韩欧美久久久久久久久| www.日韩免费| 国产精品丝袜久久久久久不卡| 国产成人在线精品| 久久琪琪电影院| 欧美一级在线播放| 欧美激情亚洲另类| 亚洲天堂开心观看| 欧美日韩一区二区在线| 亚洲人成绝费网站色www| 亚洲视频网站在线观看| 久久久精品网站| 国产精品久久激情| 国产亚洲精品激情久久| 国产精品成人久久久久| 97碰碰碰免费色视频| 亚洲天堂男人天堂女人天堂| 欧美激情免费视频| 欧洲精品毛片网站| 亚洲成人av片在线观看| 亚洲成人精品视频在线观看| 日韩女在线观看| 国产精品三级在线| 91久久精品日日躁夜夜躁国产| 国产在线观看不卡| 亚洲欧美在线看| www.欧美精品| 国产亚洲欧洲高清| 欧美激情国产高清| 欧美老女人在线视频| 久久精品夜夜夜夜夜久久| 日韩av中文字幕在线| 国产精品男人的天堂| 日本亚洲欧美三级| 亚洲精品小视频| 国产精品视频一区二区高潮| 欧美老少做受xxxx高潮| 中文字幕日韩在线播放| 国产91色在线|| 在线日韩av观看| 57pao成人国产永久免费| 欧美大尺度电影在线观看| 欧洲永久精品大片ww免费漫画| 九九热精品视频国产| 成人黄色免费网站在线观看| 欧美电影免费看| 国内精品400部情侣激情|