replace annonymous class with closure

master
melvin 2013-12-01 16:10:54 +08:00
parent ed2a9acd8d
commit 72bd602e26
14 changed files with 94 additions and 108 deletions

View File

@ -25,12 +25,11 @@
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPlayer(game,new MagicPlayerAction() {
public void doAction(final MagicPlayer player) {
final MagicPermanent sacrificed=event.getRefPermanent();
final MagicDamage damage=new MagicDamage(event.getSource(),player,sacrificed.getConvertedCost());
game.doAction(new MagicDealDamageAction(damage));
}
event.processTargetPlayer(game, {
final MagicPlayer player ->
final MagicPermanent sacrificed=event.getRefPermanent();
final MagicDamage damage=new MagicDamage(event.getSource(),player,sacrificed.getConvertedCost());
game.doAction(new MagicDealDamageAction(damage));
});
}
}

View File

@ -33,12 +33,11 @@
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPlayer(game,new MagicPlayerAction() {
public void doAction(final MagicPlayer player) {
final MagicPermanent sacrificed=event.getRefPermanent();
final MagicDamage damage=new MagicDamage(event.getSource(),player,sacrificed.getPower());
game.doAction(new MagicDealDamageAction(damage));
}
event.processTargetPlayer(game, {
final MagicPlayer player ->
final MagicPermanent sacrificed=event.getRefPermanent();
final MagicDamage damage=new MagicDamage(event.getSource(),player,sacrificed.getPower());
game.doAction(new MagicDealDamageAction(damage));
});
}
}

View File

@ -13,19 +13,18 @@
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPlayer(game,new MagicPlayerAction() {
public void doAction(final MagicPlayer targetPlayer) {
final MagicDamage damage = new MagicDamage(event.getSource(),targetPlayer,4);
game.doAction(new MagicDealDamageAction(damage));
if (MagicCondition.METALCRAFT_CONDITION.accept(event.getSource())) {
final Collection<MagicPermanent> targets =
game.filterPermanents(targetPlayer,MagicTargetFilter.TARGET_CREATURE_YOU_CONTROL);
for (final MagicPermanent target : targets) {
game.doAction(new MagicGainAbilityAction(
target,
MagicAbility.CannotBlock
));
}
event.processTargetPlayer(game, {
final MagicPlayer targetPlayer ->
final MagicDamage damage = new MagicDamage(event.getSource(),targetPlayer,4);
game.doAction(new MagicDealDamageAction(damage));
if (MagicCondition.METALCRAFT_CONDITION.accept(event.getSource())) {
final Collection<MagicPermanent> targets =
game.filterPermanents(targetPlayer,MagicTargetFilter.TARGET_CREATURE_YOU_CONTROL);
for (final MagicPermanent target : targets) {
game.doAction(new MagicGainAbilityAction(
target,
MagicAbility.CannotBlock
));
}
}
});

View File

@ -11,14 +11,13 @@
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPlayer(game,new MagicPlayerAction() {
public void doAction(final MagicPlayer opponent) {
game.addEvent(new MagicSacrificePermanentEvent(
event.getSource(),
opponent,
MagicTargetChoice.SACRIFICE_CREATURE
));
}
event.processTargetPlayer(game, {
final MagicPlayer opponent ->
game.addEvent(new MagicSacrificePermanentEvent(
event.getSource(),
opponent,
MagicTargetChoice.SACRIFICE_CREATURE
));
});
}
}

View File

@ -17,15 +17,14 @@
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPlayer(game,new MagicPlayerAction() {
public void doAction(final MagicPlayer player) {
final MagicDamage damage = new MagicDamage(
event.getSource(),
player,
event.getRefInt() * 2
);
game.doAction(new MagicDealDamageAction(damage));
}
event.processTargetPlayer(game, {
final MagicPlayer player ->
final MagicDamage damage = new MagicDamage(
event.getSource(),
player,
event.getRefInt() * 2
);
game.doAction(new MagicDealDamageAction(damage));
});
}
}

View File

@ -23,13 +23,12 @@
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPlayer(game,new MagicPlayerAction() {
public void doAction(final MagicPlayer player) {
final MagicCard card = player.getLibrary().getCardAtTop();
game.doAction(new MagicMillLibraryAction(player,1));
final int amount = card.getConvertedCost();
game.doAction(new MagicChangeTurnPTAction(event.getPermanent(),amount,amount));
}
event.processTargetPlayer(game, {
final MagicPlayer player ->
final MagicCard card = player.getLibrary().getCardAtTop();
game.doAction(new MagicMillLibraryAction(player,1));
final int amount = card.getConvertedCost();
game.doAction(new MagicChangeTurnPTAction(event.getPermanent(),amount,amount));
});
}
}

View File

@ -25,10 +25,9 @@ def MindwhipSacrifice = new MagicPermanentActivation(
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPlayer(game,new MagicPlayerAction() {
public void doAction(final MagicPlayer player) {
game.addEvent(MagicDiscardEvent.Random(event.getPermanent(),player,1));
}
event.processTargetPlayer(game, {
final MagicPlayer player ->
game.addEvent(MagicDiscardEvent.Random(event.getPermanent(),player,1));
});
}
};

View File

@ -11,15 +11,14 @@
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPlayer(game,new MagicPlayerAction() {
public void doAction(final MagicPlayer player) {
game.addEvent(new MagicDiscardEvent(
event.getSource(),
player,
2
));
game.doAction(new MagicChangeLifeAction(event.getPlayer(),2));
}
event.processTargetPlayer(game, {
final MagicPlayer player ->
game.addEvent(new MagicDiscardEvent(
event.getSource(),
player,
2
));
game.doAction(new MagicChangeLifeAction(event.getPlayer(),2));
});
}
}

View File

@ -23,15 +23,14 @@
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPlayer(game,new MagicPlayerAction() {
public void doAction(final MagicPlayer player) {
game.addEvent(new MagicDiscardEvent(
event.getSource(),
player
));
if (player.controlsPermanent(MagicSubType.Demon)) {
game.doAction(new MagicChangeLifeAction(player,-3));
}
event.processTargetPlayer(game, {
final MagicPlayer player ->
game.addEvent(new MagicDiscardEvent(
event.getSource(),
player
));
if (player.controlsPermanent(MagicSubType.Demon)) {
game.doAction(new MagicChangeLifeAction(player,-3));
}
});
}

View File

@ -11,17 +11,16 @@
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPlayer(game,new MagicPlayerAction() {
public void doAction(final MagicPlayer player) {
final Collection<MagicPermanent> targets=
game.filterPermanents(player,MagicTargetFilter.TARGET_CREATURE_YOU_CONTROL);
for (final MagicPermanent creature : targets) {
game.doAction(new MagicTapAction(creature,true));
game.doAction(MagicChangeStateAction.Set(
creature,
MagicPermanentState.DoesNotUntapDuringNext
));
}
event.processTargetPlayer(game, {
final MagicPlayer player ->
final Collection<MagicPermanent> targets=
game.filterPermanents(player,MagicTargetFilter.TARGET_CREATURE_YOU_CONTROL);
for (final MagicPermanent creature : targets) {
game.doAction(new MagicTapAction(creature,true));
game.doAction(MagicChangeStateAction.Set(
creature,
MagicPermanentState.DoesNotUntapDuringNext
));
}
});
}

View File

@ -1,11 +1,10 @@
def action = {
final MagicGame game, final MagicEvent event ->
if (event.isYes()) {
event.processTargetPlayer(game,new MagicPlayerAction() {
public void doAction(final MagicPlayer player) {
game.doAction(new MagicChangeLifeAction(player,-1));
game.doAction(new MagicChangeLifeAction(event.getPlayer(),1));
}
event.processTargetPlayer(game, {
final MagicPlayer player ->
game.doAction(new MagicChangeLifeAction(player,-1));
game.doAction(new MagicChangeLifeAction(event.getPlayer(),1));
});
}
}

View File

@ -52,13 +52,12 @@
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPlayer(game,new MagicPlayerAction() {
public void doAction(final MagicPlayer player) {
game.doAction(new MagicChangeLifeAction(
player,
-event.getRefPermanent().getPower()
));
}
event.processTargetPlayer(game, {
final MagicPlayer player ->
game.doAction(new MagicChangeLifeAction(
player,
-event.getRefPermanent().getPower()
));
});
}
}

View File

@ -12,15 +12,14 @@
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPlayer(game,new MagicPlayerAction() {
public void doAction(final MagicPlayer player) {
final MagicDamage damage = new MagicDamage(
event.getSource(),
player,
player.getHandSize()
);
game.doAction(new MagicDealDamageAction(damage));
}
event.processTargetPlayer(game, {
final MagicPlayer player ->
final MagicDamage damage = new MagicDamage(
event.getSource(),
player,
player.getHandSize()
);
game.doAction(new MagicDealDamageAction(damage));
});
}
}

View File

@ -12,11 +12,10 @@
}
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
event.processTargetPlayer(game,new MagicPlayerAction() {
public void doAction(final MagicPlayer target) {
def amount = target.getLibrary().size().intdiv(2);
game.doAction(new MagicMillLibraryAction(target,amount));
}
event.processTargetPlayer(game, {
final MagicPlayer target ->
def amount = target.getLibrary().size().intdiv(2);
game.doAction(new MagicMillLibraryAction(target,amount));
});
}
}