C 掃雷遊戲 2(遊戲部分)

2021-08-24 19:50:48 字數 1513 閱讀 3883

遊戲部分包含:

1)磚塊集合,這裡我們用二維陣列替代

2)磚塊的行數和列數

3)地雷數

4)地雷位置

5)根據遊戲的級別設定磚塊行數和地雷數

6)建立隨機地雷

7)標識有地雷的磚塊

8)計算磚塊周圍的雷數

基本上是這些內容,下面我們就一項項講解

1)磚塊集合,這裡我們用二維陣列替代

2)磚塊的行數和列數

3)地雷數

4)地雷位置

這些都是屬性,重點講解方法內容

5)根據遊戲的級別設定磚塊行數和地雷數

這裡我們使用屬性來設定,首先了解屬性的作用:對字段的封裝,通過屬性的get和set可以對欄位進行約束。

//設定級別

private void setlevel(int level)

}6)建立隨機地雷

很容易,不詳述

7)標識有地雷的磚塊

根據地雷的位置來標識地雷處在哪個磚塊中

8)計算磚塊周圍的雷數

這個方法放在這裡不符合邏輯,但是問題是磚塊的設計我們採用了自定義控制項,磚塊和磚塊是沒有聯絡的,某一磚塊並不知道周圍磚塊情況。怎麼辦呢?我們在只能在遊戲載入時,先把每個磚塊周圍的情況都設定到磚塊屬性中。

code:

usingsystem;

usingsystem.collections.generic;

usingsystem.text;

usingsystem.windows.forms;

usingsystem.drawing;

namespaceminesweeper

//設定級別

private

voidsetlevel(intlevel)

} //建立隨機地雷

private

voidcreatemines()

} if(!isrepeat)

} }

//建立磚塊

private

voidcreatebricks()

} //標識有地雷的磚塊

foreach(intmindexinmines),)",x,y);

bricks[x,y].ismine=true;

} console.writeline();

for(inti=0;ifor(intj=0;jgetarroundminecount(i,j);

} }

ctrl.parent.width=bricks[0,0].width*cols+8;

ctrl.parent.height=bricks[0,0].height*rows+33+24+50;

} //獲取四周的地雷數

private

voidgetarroundminecount(intx,inty)

} bricks[x,y].arroundmines=count;

} #endregion

} }

c 掃雷遊戲

一 c 實現掃雷 1 在form中 bombclass bombclass new bombclass 布雷按鈕事件 private void initbombbtn click object sender,eventargs e 雷盤的滑鼠點選事件 方法一 private void bombpan...

掃雷 遊戲 互動 2

由於是校內訓練賽 就不貼 啦 貼了你也進不去2333 掃雷是t1嘛 反正就很水 先隨機找幾個點然後 列舉隨機種子s是啥就可以了 然後這道題開啟了機房瘋狂hack的節奏qaq 互動的本地測試可以直接把 貼到grader後面就可以啦 xyx include mine.h include include ...

C 掃雷遊戲 3(介面部分)

介面方面實際沒有什麼了,只要美觀 人性化就行。因為所有的邏輯都在game類中,只要將game作為成員變數放入窗體類中就行了。這裡就將個技巧,掃雷有3個級別,根據不同的級別設定遊戲的磚塊和行數 列數以及地雷數,並且我們要求選中項要打勾,而其他項沒勾,用傻方法也能實現。那麼如果10個級別或者100個級別...