@Override public void play(LogHandler logHandler) { owner.drawCards(3); for (DomPlayer thePlayer : owner.getOpponents()) { if (thePlayer.checkDefense()) continue; ArrayList<DomCard> theTopThree = thePlayer.revealTopCards(3); for (DomCard theCard : theTopThree) { if (theCard.hasCardType(DomCardType.Treasure) || theCard.hasCardType(DomCardType.Action)) { thePlayer.discard(theCard); } else { thePlayer.putOnTopOfDeck(theCard); } } } }
private void handleOpponents(LogHandler logHandler) { for (DomPlayer thePlayer : owner.getOpponents()) { boolean trashes = false; if (thePlayer.getCardsInHand().size() > 0) { Collections.sort(thePlayer.getCardsInHand(), SORT_FOR_TRASHING); DomCard theCardToTrash = thePlayer.getCardsInHand().get(0); if (theCardToTrash.getTrashPriority() < 16) { if (!thePlayer.removingReducesBuyingPower(theCardToTrash)) { thePlayer.trash(thePlayer.removeCardFromHand(theCardToTrash)); trashes = true; } } } if (logHandler.getHaveToLog() && !trashes) logHandler.addToLog(thePlayer + " trashes nothing"); } }