public void PlayforMe()
{
for (int i=game.size()-1;i>=1;i--)
{
Card a = game.get(i);
Card b = game.get(i-1);
if (a.getSuit().equals(b.getSuit()) | (a.getCardNum().equals(b.getCardNum())))
{
game.remove(b);
break;
}
}
for (int j=game.size()-1;j>=3;j--)
{
Card c = game.get(j);
Card d = game.get(j-3);
if (c.getSuit().equals(d.getSuit()) | (c.getCardNum().equals(d.getCardNum())))
{
game.set(j-3,game.get(j));
game.remove(j);
break;
}
}
}
我已经为我在Java代码中制作的单人纸牌游戏编写了这段Java代码。我对这门语言(以及一般的编程)非常陌生。我有一个arrayList为我的套牌和arrayList为我的'游戏'。在这种方法/移动中,我拥有它,所以它会发现最接近发卡末尾的卡片,如果卡片或卡片号码相同,则直接在卡片前面与卡片“交换”。如何实现具有两个循环的条件
如果这个举动并不是卡片发出的选项,那么我需要它通过第二个循环,找到最接近发牌结束的卡片,然后用卡片[3]之前的卡片“交换”如果西装或卡号是相同的。
他们单独工作,但我不能得到一个条件工作(例如我已经尝试过的if语句),将通过第一个循环,如果它没有成功地删除一张卡,它将通过第二个循环。
该方法应该只执行一个步骤,如果满足条件,则优先将卡移动到卡上(之前)。我可以做到这一点,所以它会经历两个循环(即把这段代码放到两个方法中,并从我的菜单中调用它们),但是我需要它执行第一个循环,并且只有在第一个循环结束时才执行第二个循环不成功(即卡b不删除/ game.remove(b);不叫)
如果任何人有任何建议,我会感激:)
谢谢,那个工作出色^^ – DanMc