我正在尝试创建一个16(4x4)卡的网格。总共有8种不同的卡,因此每种类型的卡将重复两次。
private static int rows = 4;
private static int columns = 4;
public static Card[][] card = new Card[rows][columns];
public String[][] printHiddenCard() {
for(int i = 0; i < card.length; i++){
for(int j = 0; j < card[i].length; j++){
card[i][j] = new QCard();
}
}
}
我无法弄清楚如何插入每个QCard
中的两个,这是“?”之一或者我的7种其他类型的卡(+, - ,%,/等),以随机顺序进入对象数组。
答案 0 :(得分:1)
我会列出16张牌,然后将其洗牌。
// c1, c2, c3, c4, c5, c6, c7, c8 are your 8 different Cards.
List<Card> allCards = Arrays.asList(c1, c2, c3, c4, c5, c6, c7, c8);
List<Card> list = new ArrayList<>(allCards);
list.addAll(allCards);
Collections.shuffle(list);
int k = 0;
for(int i = 0; i < rows; i++){
for(int j = 0; j < columns; j++){
card[i][j] = list.get(k++);
}
}