0

我正在尝试使用“Graphnodes”和坐标来制作地图,它将形成一个网格。我这样做首先用graphnode填充每个坐标,然后返回并将它们全部连接起来。当我浏览它时,它告诉我键 {2,1} 不在字典中,但是当我检查字典时,键和 graphnode 就在那里。

For i = 1 To MapSize
    For j = 1 To MapSize
        If i = 1 And j = 1 Then
            temp = {i, j}
            nodes.Add(temp, rootNode)
        Else
            roomKeyVal += 1
            temp = {i, j}
            nodes.Add(temp, New graphNode With {.Key = roomKeyVal})
        End If
    Next
Next

For i = 1 To MapSize
    For j = 1 To MapSize
        If i = MapSize Then
            If j <> MapSize Then
                nodes({i, j}).South = nodes({i, j + 1})
                nodes({i, j + 1}).North = nodes({i, j})
            End If
        Else
            If j = MapSize Then
                nodes({i, j}).East = nodes({i + 1, j})
                nodes({i + 1, j}).West = nodes({i, j})
            Else
                nodes({i, j}).East = nodes({i + 1, j})
                nodes({i + 1, j}).West = nodes({i, j})
                nodes({i, j}).South = nodes({i, j + 1})
                nodes({i, j + 1}).North = nodes({i, j})
            End If
        End If
    Next
Next

我需要有一个相互连接的graphnodes网格,我可以“穿越”它,但它无法通过连接第三个graphnode。

PS如果您需要帮助理解代码,请告诉我。

4

1 回答 1

0

在评论中回答。我将字典中的键从一个数组更改为一个字符串。:)

于 2019-02-04T20:58:59.360 回答