使用锯齿与多维数组



新成员。有很多关于数组的帖子,但我还没有看到这个,所以我想知道这是否可能。

我有一个11 x 10的游戏板。我有一个数组来布置这些方块。上面一行是[0][0]- a[0][10],下面一行是[9][0]- a[9][10],中间的是你所期望的。

把棋盘想象成一个棋盘。棋子移动到一个正方形,并被放置在该特定位置的数组中。扭转的是,你可以在一个方块上有一堆棋子。这就是锯齿数组的用武之地,因为堆栈中的块数可以变化。

我的问题是,我可以在电路板上的每个点的多维数组中嵌套一个锯齿数组吗?

我能想到的唯一另一种方法是有110个锯齿数组,每个位置一个,根本没有多维数组。这是正确的做法吗?

我知道我有很多关于数组的知识要学习,所以如果有人能给我指出我应该查找的方向,我将不胜感激。谢谢。

如果堆栈中的棋子数量可以变化,在我看来,你真正想要的是一个代表游戏棋盘的二维数组,其中包含堆栈的实例。这些可以是一些自定义数据类型,或者你可以只使用List<T>(例如List<Piece>,其中Piece是你的游戏棋子类型)。

例如:

List<Piece>[,] board = new List<Piece>[11,10];
for (int row = 0; row < 11; row++)
    for (int column = 0; column < 10; column++)
        board[row, column] = new List<Piece>();

通过在这里使用List<T>,然后你的棋盘在每个地方都有一个空列表,你可以通过简单地从列表中添加或删除它们来添加或删除碎片。

如果"堆栈"实际上是一个独立的游戏单元,那么将它们表示为自定义类型可能更有意义。在这种情况下(取决于游戏玩法),你可能会重新分配每个棋盘数组元素的堆栈。我不知道& help;你的问题中没有足够的信息来深入了解实现细节。

相关内容

  • 没有找到相关文章

最新更新