gpt4 book ai didi

java - 将牌添加到弃牌堆

转载 作者:太空宇宙 更新时间:2023-11-04 14:03:26 24 4
gpt4 key购买 nike

我想将一张牌添加到弃牌堆的顶部,弃牌堆中剩余的牌将自动进入新牌的下方,我尝试了很多方法来做到这一点但失败了,这里需要一些指导,由于我的项目的要求不想使用堆栈

public void setTop(Card c)//add a card to top of discard pile
{
if(this.discardCards[0] != null)
{
addingCards();
}
this.discardCards[0] = c;
countDiscard++;
}

public void addingCards()//pushing each cards to the back of the new card
{
for(int i = 0; i <= countDiscard - 1; i++)
{
Card temp = new Card();
discardCards[i+1] = discardCards[countDiscard - 1];
}
}

最佳答案

您的addingCards 并没有按照您的想法进行操作。它需要是这样的:

public void addingCards() {
for (int i = countDiscard; i > 0; i--) {
discardCards[i] = discardCards[i - 1];
}
}

您需要将所有卡牌向上移动一位,以便为新的弃牌腾出空间。为此,您的循环必须从末尾开始并向后运行。

但是,这要求弃牌堆始终足够大以容纳所有牌。

您最好使用 Deque这是一个双端队列,因此您可以在任一端添加/删除,并且它会增长以满足您的需求。

关于java - 将牌添加到弃牌堆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29095118/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com