簡體   English   中英

與多維數組結合使用

[英]Using jagged with multidimensional arrays

這里的新成員。 關於數組有很多文章,但是我還沒有看到,所以我想知道這是否可能。

我有一個11 x 10的游戲板。我有一個陣列來布置正方形。 最上面一行是a [0] [0]-a [0] [10],最下面一行是a [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> ,您的電路板將在每個位置以一個空列表開頭,並且您只需在列表中添加或刪除它們即可添加或刪除部件。

如果“堆棧”實際上是一個離散的游戲單位,那么將它們表示為自定義類型可能更有意義。 在這種情況下(取決於游戲方式),您實際上可能會在每個板陣列元素中重新分配堆棧。 我不知道……您的問題中沒有足夠的信息來深入研究實現細節。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM