2

だから私はマインスイーパゲームを開発していて、地雷を割り当てていますが、地雷がすでにある場所に行くために地雷を止めるアルゴリズムを作成することはできません。これまでのところ、次のようになっています。

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。

4

2 に答える 2

1

最も簡単な方法は、設定する前に確認することです。例:

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

    avisinhos()

    mat(line, column) = 1
end if
于 2012-04-30T12:01:43.350 に答える
0

配置されたすべての「地雷」をある種の配列に格納する必要があります。あなたがそれらの鉱山で何かをしたいのであれば、これは最終的にはより良いです。地雷をオブジェクトとして持っている場合、今のところそれらはさらに良くなり、死んでいる、生きている、または「?」のような状態を持つことができます。MSバージョンのように。

ちょうど私の2セント。

于 2012-04-30T12:03:28.173 に答える