我可以在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();
}
答案 0 :(得分:1)
在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
类可以访问它。