我能够在passCard()中找到我想要的卡片,但是我很难将卡片移到手中。
public class CardContainer
{
protected Card[] cards;
这是我试图将卡片传到手中的地方。我能够找到卡但在那之后被卡住了。
public boolean passCard(CardContainer cc, Card c)
{
for(int i = 0; i < cards.length; i++)
{
if(cards[i].equals(c))
{
//this is where im trying to make magic happen
return true;
}
}
return false;
}
}
public class Hand extends CardContainer {
private String playerName;
public Hand(String name, int numCards)
{
playerName = name;
cards = new Card[numCards];
// manually entered a card to test if it works
cards[1] = new Card(1,'s');
}
}
public class TestDemo {
public static void main(String[] args) {
Hand h = new Hand("name", 10);
System.out.println(deck.passCard(h, new Card(2,'s')));
// prints manually entered card in hand class
h.printCards();
}
在你的passCard
函数中,你可以简单地初始化Cards
中的一个元素(这假设你想在位置i
初始化它):
public boolean passCard(CardContainer cc, Card c)
{
for(int i = 0; i < cards.length; i++)
{
if(cards[i].equals(c))
{
h.cards[i] = this.cards[i];
return true;
}
}
return false;
}
由于cards
只是protected
:
protected修饰符指定只能在其自己的包中访问该成员
这意味着你的Hand
类可以访问它。