验证位置VB.NET

时间:2012-04-30 11:56:34

标签: vb.net minesweeper

所以我正在开发一个扫雷游戏并且我正在分配地雷,但是我无法创建一个算法来阻止我的地方去一个已经有矿的地方,这是我到目前为止所拥有的:

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。

2 个答案:

答案 0 :(得分:1)

最简单的方法是在设置之前进行检查,例如:

if mat(line, column) = 0 then
    numbandeiras = numbandeiras + 1

    avisinhos()

    mat(line, column) = 1
end if

答案 1 :(得分:0)

您需要将所有放置的“地雷”存储在某种数组中。如果你想对这些地雷做些什么,最终会更好。如果你将地雷作为物体,那么现在它们会变得更好,它们可以拥有死亡,活着或“?”等状态。喜欢MS版本。

只需2美分。