天天看點

scratch程式設計——一個清單實作經典掃雷遊戲

今天我們來做一款經典小遊戲——掃雷

scratch程式設計——一個清單實作經典掃雷遊戲

掃雷的玩法大家都知道,翻開一個格子,格子裡也許是地雷也許是數字,如果是數字就表示以這個數字為中心,周邊的八個格子裡地雷的數量,要通過數字的提示按下所有安全的格子就算勝利!

首先我們畫出這個程式唯一的角色,它一共有13個造型:

scratch程式設計——一個清單實作經典掃雷遊戲

然後就開始程式設計了,首先是整體的布局,我們先用一個名為“地圖”的清單來表示螢幕上10*10的格子,在清單裡,我們用“0”表示空白,具體如下:

“0”——空白

“1”——1個地雷

“2”——2個地雷

“3”——3個地雷

“4”——4個地雷

“5”——5個地雷

“6”——6個地雷

“7”——7個地雷

“8”——8個地雷

“L”——地雷

“X”——按下的格子

一定要記清楚清單裡的字元分别表示什麼意思!
           

下面是總程式:

scratch程式設計——一個清單實作經典掃雷遊戲

這是主角色的程式,克隆體的程式最後在看,“當接收到……”的程式下面綠色的運算程式是這樣的:

y坐标減去90的差除以20後的絕對值乘10加上x坐标減去-90的差除以20後的絕對值加1

(|(y-90)/20|*10)+(|(x-(-90))/20|+1)

再不清楚就沒辦法了

然後是綠旗子下的自定義子產品"布局",勾選運作時不重新整理螢幕!

具體如下:

scratch程式設計——一個清單實作經典掃雷遊戲
scratch程式設計——一個清單實作經典掃雷遊戲

我們理一下程式的邏輯:我們給掃雷的地圖表上号,按從上往下,從左往右的方式标号,分别對應清單裡的項數。在清單排列好所有的空白後,把地雷(L)埋進去,再從頭開始,清單裡如果是0(空白)就左上,上,右上,左,右,左下,下,右下的偵測,有幾個雷就将原先的空白變為幾,完成後再檢測下一個。但要注意,邊上和角落裡的方塊需要特殊處理,我們把所有格子分為9塊:

scratch程式設計——一個清單實作經典掃雷遊戲

除5以外,其他的全部特殊處理:

1檢測 右、下、右下

2檢測 左、左下、下、右下、右

3檢測 左、下、左下

4檢測 上、右上、右、右下、下

5檢測 全部

6檢測 上、左上、左、左下、下

7檢測 上、右上、右

8檢測 左、左上、上、右上、右

9檢測 上、左上、左

有點複雜,這也是程式為什麼這麼長的原因。

克隆體的程式就不說了,直接看:

scratch程式設計——一個清單實作經典掃雷遊戲
scratch程式設計——一個清單實作經典掃雷遊戲

完成,有興趣的話請關注微信公衆号:

scratch程式設計——一個清單實作經典掃雷遊戲

繼續閱讀