我正在使用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对象的调用方法的任何想法都值得赞赏。谢谢!
答案 0 :(得分: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));
}