我有一个关于如何洗牌的问题。背景是:编写一个记忆配对游戏
,它使用 16 张卡片,排列在一个 4*4 的正方形中,并标有从 1 到 8 的数字对。
目前,我需要做的是初始化这些卡片并洗牌。
而现在我能想到的就是创建一个Card类,包括从1到8的变量Rank,其次,命名一个新类(matchingGame)(随便你)并编写一个新的静态方法:shuffle()。
但我被困在这一步。
我的第一个问题是如何初始化这 16 张卡(8 对)?
(我认为我的代码不是有效的方法)。
我的第二个问题是初始化后如何洗牌?
我的代码是:
public class Card
{
private int rank;
public Card(int iniRank)
{
switch (iniRank)
{
case 1:
rank =1;
break;
case 2:
rank =2;
break;
case 3:
rank =3;
break;
case 4:
rank =4;
break;
case 5:
rank =5;
break;
case 6:
rank =6;
break;
case 7:
rank =7;
break;
case 8:
rank =8;
break;
}
}
public int getRank()
{
return rank;
}
}
public static void initialize(Card[] cards)
{
for (int i=0;i<2;i++)
{
cards[i] = new Card(1);
}
for (int i=2;i<4;i++)
{
cards[i] = new Card(2);
}
....
}
谢谢大家对我之前的问题!
在同一背景下还有一个问题,作为您的好建议,您知道如何洗牌一维数组吗?
但是如何洗牌一个二维数组?显然,我不能使用
List<Card> newcards = Arrays.asList(cards)
现在转换为列表。
感谢您的帮助