0

我正在使用 greenfoot 并试图迭代一些东西,这样它就更干净了。该cardsPile列表是弃牌堆中的当前牌。我正在尝试更加面向对象,并且正在努力解决如何将多个添加到 ArrayList 中。我也在尝试调用 Card 对象内部的方法。我正在尝试使以下过程可迭代。

 card1.setLocation(100,200);
 cpu2.setLocation(100,200);
 card2.setLocation(100,200);
 cpu3.setLocation(100,200);

由于 card1 等在上面定义为:

 Card card1 = cards.get(1);
 Card card2 = cards.get(2);
 Card card3 = cards.get(3);
 Card card4 = cards.get(4);
 Card cpu1 = cpuCards.get(1);
 Card cpu2 = cpuCards.get(2);
 Card cpu3 = cpuCards.get(3);
 Card cpu4 = cpuCards.get(4);

我还尝试通过按对象添加它们来将它们添加到 cardPile ArrayList 中,如下所示

 cardsPile.add(curCard);
 cardsPile.add(card1);
 cardsPile.add(card2);
 cardsPile.add(card3);
 cardsPile.add(card4);
 cardsPile.add(cpu1);
 cardsPile.add(cpu2);
 cardsPile.add(cpu3);
 cardsPile.add(cpu4);

任何关于如何迭代 Card 对象的调用方法的想法都值得赞赏。谢谢!

4

1 回答 1

0

要遍历所有变量,您应该将它们存储在数组或某种集合中,如下所示:

看这里

    ArrayList<Card> alCard = new ArrayList<Card>();
    for(int cardIdx = 1; cardIdx <= 4; cardIdx++) {
        alCard.add(cards.get(cardIdx));
    }
    ArrayList<Card> alCpu = new ArrayList<Card>();
    for(int cardIdx = 1; cardIdx <= 4; cardIdx++) {
        alCpu.add(cards.get(cardIdx));
    }

    ArrayList<Card> cardsPile = new ArrayList<Card>();
    cardsPile.add(curCard);
    for(int cardIdx = 0; cardIdx < alCard.size(); cardIdx++) {
        cardsPile.add(alCard.get(cardIdx));
    }
    for(int cardIdx = 0; cardIdx < alCpu.size(); cardIdx++) {
        cardsPile.add(alCpu.get(cardIdx));
    }
于 2017-12-07T17:47:42.553 回答