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