dim a(10,10),b(100) as long
For i = 1 To 10
For j = 1 To 10
a(i, j) = "0"
Next j
Next i
For k = 1 To 20 '2?à×
10: a1 = Int(Rnd * 10) + 1
b1 = Int(Rnd * 10) + 1
If a(a1, b1) = "0" Then
a(a1, b1) = "*"
n = n + 1
Else
GoTo 10
End If
Next k
'éè??à×±?é?μ?êy×?
For n = 2 To 9 '?D???D??
For t = 2 To 9
If a(n, t) = "*" Then
For n1 = n - 1 To n + 1
For t1 = t - 1 To t + 1
If a(n1, t1) <> "*" Then
a(n1, t1) = LTrim$(Str$(Val(a(n1, t1)) + 1))
End If
Next t1
Next n1
End If
Next t
Next n
For i = 2 To 9
If a(1, i) = "*" Then 'μúò?DD?D??
For j = 1 To 2
For k = i - 1 To i + 1
If a(j, k) <> "*" Then
a(j, k) = LTrim$(Str$(Val(a(j, k)) + 1))
End If
Next k
Next j
End If
If a(10, i) = "*" Then 'μúê?DD?D??
For j = 9 To 10
For k = i - 1 To i + 1
If a(j, k) <> "*" Then
a(j, k) = LTrim$(Str$(Val(a(j, k)) + 1))
End If
Next k
Next j
End If
Next i
For i = 2 To 9
If a(i, 1) = "*" Then 'μúò?DD£?μúiáD?D??
For j = i - 1 To i + 1
For k = 1 To 2
If a(j, k) <> "*" Then
a(j, k) = LTrim$(Str$(Val(a(j, k)) + 1))
End If
Next k
Next j
End If
If a(i, 10) = "*" Then 'μúiDD£?μúê?áD?D??
For j = i - 1 To i + 1
For k = 9 To 10
If a(j, k) <> "*" Then
a(j, k) = LTrim$(Str$(Val(a(j, k)) + 1))
End If
Next k
Next j
End If
Next i
'???????D??
If a(1, 1) = "*" Then 'μú1DD£?μú1áDà×?D??
For i = 1 To 2
For j = 1 To 2
If a(i, j) <> "*" Then
a(i, j) = LTrim$(Str$(Val(a(i, j)) + 1))
End If
Next j
Next i
End If
If a(1, 10) = "*" Then 'μú1DD£?μú10áDà×?D??
For i = 1 To 2
For j = 9 To 10
If a(i, j) <> "*" Then
a(i, j) = LTrim$(Str$(Val(a(i, j)) + 1))
End If
Next j
Next i
End If
If a(10, 1) = "*" Then 'μú10DD£?μú1áDà×?D??
For i = 9 To 10
For j = 1 To 2
If a(i, j) <> "*" Then
a(i, j) = LTrim$(Str$(Val(a(i, j)) + 1))
End If
Next j
Next i
End If
If a(10, 10) = "*" Then 'μú10DD£?μú10áDà×?D??
For i = 9 To 10
For j = 9 To 10
If a(i, j) <> "*" Then
a(i, j) = LTrim$(Str$(Val(a(i, j)) + 1))
End If
Next j
Next i
End If
For i = 1 To 100
b(i) = a((i - 1) \ 10 + 1, (i - 1) Mod 10 + 1)
Next i布雷为:10*10
For i = 1 To 10
For j = 1 To 10
a(i, j) = "0"
Next j
Next i
For k = 1 To 20 '2?à×
10: a1 = Int(Rnd * 10) + 1
b1 = Int(Rnd * 10) + 1
If a(a1, b1) = "0" Then
a(a1, b1) = "*"
n = n + 1
Else
GoTo 10
End If
Next k
'éè??à×±?é?μ?êy×?
For n = 2 To 9 '?D???D??
For t = 2 To 9
If a(n, t) = "*" Then
For n1 = n - 1 To n + 1
For t1 = t - 1 To t + 1
If a(n1, t1) <> "*" Then
a(n1, t1) = LTrim$(Str$(Val(a(n1, t1)) + 1))
End If
Next t1
Next n1
End If
Next t
Next n
For i = 2 To 9
If a(1, i) = "*" Then 'μúò?DD?D??
For j = 1 To 2
For k = i - 1 To i + 1
If a(j, k) <> "*" Then
a(j, k) = LTrim$(Str$(Val(a(j, k)) + 1))
End If
Next k
Next j
End If
If a(10, i) = "*" Then 'μúê?DD?D??
For j = 9 To 10
For k = i - 1 To i + 1
If a(j, k) <> "*" Then
a(j, k) = LTrim$(Str$(Val(a(j, k)) + 1))
End If
Next k
Next j
End If
Next i
For i = 2 To 9
If a(i, 1) = "*" Then 'μúò?DD£?μúiáD?D??
For j = i - 1 To i + 1
For k = 1 To 2
If a(j, k) <> "*" Then
a(j, k) = LTrim$(Str$(Val(a(j, k)) + 1))
End If
Next k
Next j
End If
If a(i, 10) = "*" Then 'μúiDD£?μúê?áD?D??
For j = i - 1 To i + 1
For k = 9 To 10
If a(j, k) <> "*" Then
a(j, k) = LTrim$(Str$(Val(a(j, k)) + 1))
End If
Next k
Next j
End If
Next i
'???????D??
If a(1, 1) = "*" Then 'μú1DD£?μú1áDà×?D??
For i = 1 To 2
For j = 1 To 2
If a(i, j) <> "*" Then
a(i, j) = LTrim$(Str$(Val(a(i, j)) + 1))
End If
Next j
Next i
End If
If a(1, 10) = "*" Then 'μú1DD£?μú10áDà×?D??
For i = 1 To 2
For j = 9 To 10
If a(i, j) <> "*" Then
a(i, j) = LTrim$(Str$(Val(a(i, j)) + 1))
End If
Next j
Next i
End If
If a(10, 1) = "*" Then 'μú10DD£?μú1áDà×?D??
For i = 9 To 10
For j = 1 To 2
If a(i, j) <> "*" Then
a(i, j) = LTrim$(Str$(Val(a(i, j)) + 1))
End If
Next j
Next i
End If
If a(10, 10) = "*" Then 'μú10DD£?μú10áDà×?D??
For i = 9 To 10
For j = 9 To 10
If a(i, j) <> "*" Then
a(i, j) = LTrim$(Str$(Val(a(i, j)) + 1))
End If
Next j
Next i
End If
For i = 1 To 100
b(i) = a((i - 1) \ 10 + 1, (i - 1) Mod 10 + 1)
Next i布雷为:10*10
解决方案 »
- 怎样实现在任意指定区域加载图片
- crystal report 9.0 做的報表怎樣在VB 中調用﹖﹖
- 数据库与控件相连接的问题
- 新手问,关于函数定义,参数可不可以为数组?
- 关于用VB的Printer对象处理自定义纸张的问题 送500分以上
- 各位大哥大姐 我有一个关于窗口的问题! 帮帮我~~谢谢!
- MSHFlexGrid结合ComboBox的问题,在线等,多谢!
- 着急...两道关于数组的问题~!一共100分,最最简单的问题.大家帮忙啊谢谢,请大家帮忙,最好在在17.00之前给我谢谢
- 如何在封闭区域填充指定的颜色?
- 如何通过程序设置任务栏的自动隐藏功能?
- 已知最小化窗体句柄,如何使它成为前台活动窗体。
- 这样的表格怎样用print方法输出?求助!!!!!!!!!!!!!!!!!!
我的算法找不着了,
定义一个M*N大的数组作为雷区
把数组里都清成0
然后随机取X个点布雷
每布下一个点就把这个点设成9,周围八个点,每个加一
等X个点布好之后就可以了
X*X
XXX2圈:24点XXXXX
XXXXX
XX*XX
XXXXX
XXXXX不过这个“窗口算法”有点麻烦,这里暂时不好讲清楚。关于跳蚤算法布雷的演示程序,稍后有时间给你写一个出来。