所以我有一个 Hand 对象,它是 Card 对象的数组。这是我的 Hand 构造函数:
public Hand(){
Card[] Hand = new Card[5];
}
这是我的卡片构造函数:
public Card(int value, char suit){
if (value < 0 || value > 13)
{
System.err.println("Twilight Zone Card");
System.exit(1);
}
this.value = value;
if (suit == 'c')
suit = 'C';
if (suit == 'd')
suit = 'D';
if (suit == 'h')
suit = 'H';
if (suit == 's')
suit = 'S';
if (suit == 'C' || suit == 'D' || suit == 'H' || suit == 'S')
{
this.suit = suit;
}
else
{
System.err.println("No such suit.");
System.exit(1);
}
}
我必须制作的游戏是钓鱼,所以有时我需要将特定的卡片对象从手中拉出来进行比较或打印等。所以一旦我在我的主类中实例化了一个手,它将它视为一个对象并不是数组。那么我应该如何为手中的不同位置拉牌呢?就像我做不到:
Hand Player1 = new Hand();
Hand Player2 = new Hand();
if (Player1[2] == Player2[2])....
所以我尝试在 Hand 类中创建一个 getCard 函数,但我不知道如何访问,比如手中的第二张牌,因为它不会让我做 hand[2],因为它不处理它作为一个数组。我现在很挣扎。我应该怎么办?