是否有一种方法可以在Visual Basic中交换2D数组中的值



我试图创建一个学习型游戏,虽然我有一些问题。我正在尝试使用从读取文件创建的2D数组,然后基于数组中的值,它使用它作为它的世界,例如,如果有一个W,它将是一个墙,E为敌人等。

我有一些问题与运动,我知道如何移动一个值,但想知道是否有一种方法有一个值交换,如如果我想我的角色向上移动,它可以与它上面的值交换。

如果可能的话,请告诉我,我正在做的这个项目似乎真的把我扔进了深渊

正如我在评论中提到的,交换很容易,下面是演示它的子例程;

Sub SwapArrayCells(Arr As Variant, c11 As Integer, c12 As Integer, c21 As Integer, c22 As Integer)
Dim tmp As Variant
tmp = Arr(c11, c12)
Arr(c11, c12) = Arr(c21, c22)
Arr(c21, c22) = tmp
End Sub

但是,通常不使用子例程来进行单元格交换,只需使用内联的三个赋值语句(带有适当的局部变量名)。

我在评论中提到的问题是,如果其他单元格中有东西,比如地形,那么你将交换周围的地形,这将改变你的地图。

最新更新