无雷方块拓展(对于周围无雷的空白块)-vb.net开发游戏第1-5章
无雷方块拓展(对于周围无雷的空白块)对于无雷方块拓展,首先判断该方块是否为空白块(其相邻的8个方块都不是雷块),如果是则向这相邻的8个方块进行递归拓展,直到不可拓展为止。 Private Sub ExpandMines(ByVal row As Integer, ByVal col As Integer) Dim i As Integer, j As Integer Dim minRow As Integer = If((row = 0), 0, row - 1) Dim maxRow As Integer = row + 2 Dim minCol As Integer = If((col = 0), 0, col - 1) Dim maxCol As Integer = col + 2 Dim around As Integer = GetAroundNum(row, col) '对周围一个雷都没有的空白区域拓展If around = 0 Then Mines(row, col).Enabled = False For i = minRow To maxRow - 1 For j = minCol To maxCol - 1 '对于周围可以拓展的区域进行的规拓展If Not IsInMineArea(i, j) Then Continue For End If Not (i = row AndAlso j = col) AndAlso Mines(i, j).Enabled False Then ExpandMines(i, j) End If Mines(i, j).Enabled = False '周围无雷的区域按钮无效If GetAroundNum(i, j) 0 Then '(i, j)处按钮周围有雷Mines(i, j).Text = GetAroundNum(i, j).ToString() End If Next End If End Sub row,col
3.06MB
文件大小:
评论区