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

2022-02-08 14:08:52 字數 3649 閱讀 5644

一:在原始碼管理器中開啟vs

注意,下文這樣的開啟方式是在 tfs 的原始碼伺服器中開啟解決方案。如果我們使用 svn,則直接在硬碟上開啟解決方案就可以了。

開啟vs:

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

注意,雙擊紅框,會顯示solution explorer。

執行起來後,是乙個空白的windows窗體,如下:

二:匯入資源檔案

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

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

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

三:實現最簡單的功能

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

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

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

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

五:**講解private list_mouses = new list();

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)

} _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)

int index = _random.next(1, 11);

_oldmouse = _mouses[index];

_oldmouse.visible = true;

} 在這個函式裡面的邏輯就是,如果當前有老鼠正在顯示著,就應該先隱藏,讓另外乙隻老鼠出現;

執行程式,我們就會發現每隔 1 秒,就會隨機出現乙隻老鼠;

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

實際上,只要修改上面的 foreach 迴圈中的**為:

foreach (control item in this.controls)

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

void item_mousedoubleclick(object sender, mouseeventargs e)

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

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

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

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和三元運算子,等我們使用到的時候一併講解,這裡不再贅述。

C 零基礎到入門

1 c語言概述 2 編寫 執行乙個簡單的c語言程式 3 資料型別 4 運算子和表示式 如果你對c語言一竅不通,那你就好好看這篇文章,我會力爭讓你真正的做到從零基礎到入門,同時這篇文章會讓你基本認識什麼是c語言 當然你要是有基礎那就不用看這篇文章,include void main char u pr...

mysql零基礎學習(03)

預設值約束 default 可以使用default關鍵字來宣告預設值,插入資料時有兩種方式使用預設值 首先建立乙個xz laptop family資料表 表中存有三個資料fid fname laptopcount insert into xz laptop family values fid fna...

Git入門 零基礎入門

git 一 在linux上的安裝 yum install giit 二 linux環境下檢出專案到本地 git clone 三 第一次提交 1.新建乙個檔案 用於後期的提交 vi 日記 2.git status檢視當前工作區檔案。提示有尚未跟蹤的檔案 3.git add 日記 rm和add相反,從工...