今天我們來做一款經典小遊戲——掃雷
掃雷的玩法大家都知道,翻開一個格子,格子裡也許是地雷也許是數字,如果是數字就表示以這個數字為中心,周邊的八個格子裡地雷的數量,要通過數字的提示按下所有安全的格子就算勝利!
首先我們畫出這個程式唯一的角色,它一共有13個造型:
然後就開始程式設計了,首先是整體的布局,我們先用一個名為“地圖”的清單來表示螢幕上10*10的格子,在清單裡,我們用“0”表示空白,具體如下:
“0”——空白
“1”——1個地雷
“2”——2個地雷
“3”——3個地雷
“4”——4個地雷
“5”——5個地雷
“6”——6個地雷
“7”——7個地雷
“8”——8個地雷
“L”——地雷
“X”——按下的格子
一定要記清楚清單裡的字元分别表示什麼意思!
下面是總程式:
這是主角色的程式,克隆體的程式最後在看,“當接收到……”的程式下面綠色的運算程式是這樣的:
y坐标減去90的差除以20後的絕對值乘10加上x坐标減去-90的差除以20後的絕對值加1
(|(y-90)/20|*10)+(|(x-(-90))/20|+1)
再不清楚就沒辦法了
然後是綠旗子下的自定義子產品"布局",勾選運作時不重新整理螢幕!
具體如下:
我們理一下程式的邏輯:我們給掃雷的地圖表上号,按從上往下,從左往右的方式标号,分别對應清單裡的項數。在清單排列好所有的空白後,把地雷(L)埋進去,再從頭開始,清單裡如果是0(空白)就左上,上,右上,左,右,左下,下,右下的偵測,有幾個雷就将原先的空白變為幾,完成後再檢測下一個。但要注意,邊上和角落裡的方塊需要特殊處理,我們把所有格子分為9塊:
除5以外,其他的全部特殊處理:
1檢測 右、下、右下
2檢測 左、左下、下、右下、右
3檢測 左、下、左下
4檢測 上、右上、右、右下、下
5檢測 全部
6檢測 上、左上、左、左下、下
7檢測 上、右上、右
8檢測 左、左上、上、右上、右
9檢測 上、左上、左
有點複雜,這也是程式為什麼這麼長的原因。
克隆體的程式就不說了,直接看:
完成,有興趣的話請關注微信公衆号: