fix bug where player always discards down to 7

master
melvin 2013-03-30 18:13:31 +08:00
parent 6f84a5c8ea
commit c8df9144cb
2 changed files with 6 additions and 6 deletions

View File

@ -242,9 +242,9 @@ public class MagicPlayer implements MagicTarget {
public int getHandSize() {
return hand.size();
}
public boolean handSizeExceedMax() {
return getHandSize() > maxHandSize;
public int getNumExcessCards() {
return Math.max(0, getHandSize() - maxHandSize);
}
public void noMaxHandSize() {

View File

@ -33,9 +33,9 @@ public class MagicCleanupPhase extends MagicPhase {
private static void nextTurn(final MagicGame game) {
MagicPlayer turnPlayer=game.getTurnPlayer();
// discard down to 7 cards
if (turnPlayer.handSizeExceedMax()) {
final int amount = turnPlayer.getHandSize() - 7;
// discard excess cards
if (turnPlayer.getNumExcessCards() > 0) {
final int amount = turnPlayer.getNumExcessCards();
game.addEvent(new MagicDiscardEvent(MagicEvent.NO_SOURCE,turnPlayer,amount,false));
}
if (turnPlayer.getExtraTurns()>0) {