所以我正在开发一个扫雷游戏并且我正在分配地雷,但是我无法创建一个算法来阻止我的地方去一个已经有矿的地方,这是我到目前为止所拥有的:
Public Sub initflags()
Dim line, column As Integer
For line = 0 To 9
For column = 0 To 9
mat(line, column) = 0
Next
Next
Dim numbandeiras As Integer
Dim r, c As Integer
Do Until numbandeiras = 34
Randomize()
line = Int(Rnd() * 10)
column = Int(Rnd() * 10)
r = line
c = column
If r And c = 1 Then
mat(line, column) = 0
Else
numbandeiras = numbandeiras + 1
Call avisinhos()
mat(line, column) = 1
End If
Loop
End Sub
有人可以帮助我吗? 最好的问候,joao。
答案 0 :(得分:1)
最简单的方法是在设置之前进行检查,例如:
if mat(line, column) = 0 then
numbandeiras = numbandeiras + 1
avisinhos()
mat(line, column) = 1
end if
答案 1 :(得分:0)
您需要将所有放置的“地雷”存储在某种数组中。如果你想对这些地雷做些什么,最终会更好。如果你将地雷作为物体,那么现在它们会变得更好,它们可以拥有死亡,活着或“?”等状态。喜欢MS版本。
只需2美分。