我正在制作一个打牌游戏,似乎与arraylists有问题 我有1个arraylist,其中包含所有可用的游戏卡片, 和另一个播放列表用户选择使用的卡片。如何正确地将引用从一个Arraylist转移到另一个
第二个arraylist开始为空,并且当用户开始从第一个arraylist中挑选卡片时,该卡片被转移到第二个playlist中。
问题是,如果用户选择2张相同的卡片,那么一张卡片发生什么也会发生在另一张卡片上。因此,让我们说用户选择名为“超级男人”的卡两次。当一个超级人的健康下降时,另一个也下降。
我的代码看起来像这样用于添加卡choosen卡:
//choosenCards is the arraylist of cards that the user chooses
//cards is the arraylist of available cards
choosenCards.add(cards.get(index));
您的问题是由于您只有一个“超级人”卡对象,但只有一个以上的参考。通过任何引用进行的更改都会影响单个对象,因此您会看到所有引用中的所有更改。如果您打算选择两张卡片,则需要更多对象。 – Kayaman