新成员。有很多关于数组的帖子,但我还没有看到这个,所以我想知道这是否可能。
我有一个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;你的问题中没有足够的信息来深入了解实现细节。