1.1 --- a/src/main/java/ru/alphatech/icfpc/game/strategy/LenarStrategy.java Mon Jun 20 02:06:40 2011 +0400
1.2 +++ b/src/main/java/ru/alphatech/icfpc/game/strategy/LenarStrategy.java Mon Jun 20 03:23:40 2011 +0400
1.3 @@ -3,9 +3,12 @@
1.4 import java.util.ArrayList;
1.5 import java.util.LinkedList;
1.6
1.7 +import ru.alphatech.icfpc.cards.I;
1.8 import ru.alphatech.icfpc.game.Batch;
1.9 import ru.alphatech.icfpc.game.ICFPCException;
1.10 import ru.alphatech.icfpc.game.Player;
1.11 +import ru.alphatech.icfpc.game.Run;
1.12 +import ru.alphatech.icfpc.game.Batch.OperationType;
1.13 import ru.alphatech.icfpc.policy.AttackHelpDelayPolicy;
1.14 import ru.alphatech.icfpc.policy.AttackHelpPolicy;
1.15 import ru.alphatech.icfpc.policy.CallExpressionPolicy;
1.16 @@ -67,18 +70,66 @@
1.17 return rtArr;
1.18 }
1.19
1.20 - LinkedList<Batch> batches = new LinkedList<Batch>(firstVitalityBoost());
1.21 + LinkedList<Batch> batches = new LinkedList<Batch>();
1.22 +
1.23 + ArrayList<Batch> attackBatches(int targetSlot){
1.24 +
1.25 + ArrayList<Batch> rtArr = new ArrayList<Batch>();
1.26 +
1.27 + rtArr.addAll(new AttackHelpPolicy(TYPE.ATTACK, 7, 4, 255-i, 5000).getBatches());
1.28 +
1.29 + rtArr.addAll(new CallExpressionPolicy(6, 8, 0, true).getBatches());
1.30 + rtArr.addAll(new CallExpressionPolicy(6, 8, 0, true).getBatches());
1.31 + rtArr.addAll(new CallExpressionPolicy(6, 8, 0, true).getBatches());
1.32 + rtArr.addAll(new CallExpressionPolicy(6, 8, 0, true).getBatches());
1.33 +
1.34 + rtArr.addAll(new AttackHelpPolicy(TYPE.ATTACK, 7, 4, 255 - i, 5000)
1.35 + .getBatches());
1.36 +
1.37 + rtArr.addAll(new CallExpressionPolicy(6, 8, 0, true).getBatches());
1.38 + rtArr.addAll(new CallExpressionPolicy(6, 8, 0, true).getBatches());
1.39 + rtArr.addAll(new CallExpressionPolicy(6, 8, 0, true).getBatches());
1.40 + rtArr.addAll(new CallExpressionPolicy(6, 8, 0, true).getBatches());
1.41 +
1.42 + rtArr.addAll(new AttackHelpPolicy(TYPE.ATTACK, 7, 4, 255 - i, 5000)
1.43 + .getBatches());
1.44 +
1.45 + rtArr.addAll(new CallExpressionPolicy(6, 8, 0, true).getBatches());
1.46 + rtArr.addAll(new CallExpressionPolicy(6, 8, 0, true).getBatches());
1.47 + rtArr.addAll(new CallExpressionPolicy(6, 8, 0, true).getBatches());
1.48 + rtArr.addAll(new CallExpressionPolicy(6, 8, 0, true).getBatches());
1.49 +
1.50 + rtArr.addAll(new AttackHelpPolicy(TYPE.ATTACK, 7, 4, 255 - i, 5000)
1.51 + .getBatches());
1.52 +
1.53 + rtArr.addAll(new CallExpressionPolicy(6, 8, 0, true).getBatches());
1.54 + rtArr.addAll(new CallExpressionPolicy(6, 8, 0, true).getBatches());
1.55 + rtArr.addAll(new CallExpressionPolicy(6, 8, 0, true).getBatches());
1.56 + rtArr.addAll(new CallExpressionPolicy(6, 8, 0, true).getBatches());
1.57 +
1.58 + return rtArr;
1.59 + }
1.60
1.61 public LenarStrategy() {
1.62 + batches.addAll(firstVitalityBoost());
1.63 + batches.addAll(attackBatches(0));
1.64 + }
1.65
1.66 - }
1.67 + int i=0;
1.68
1.69 @Override
1.70 public Batch move(Player proponent, Player opponent) {
1.71 Batch batch = batches.poll();
1.72 if(batch != null)
1.73 return batch;
1.74 - throw new ICFPCException();
1.75 + else{
1.76 + if( i > 255)
1.77 + return new Batch(OperationType.CARD_TO_SLOT, new I(), proponent.getSlot(0));
1.78 +
1.79 + batches.addAll( attackBatches(i) );
1.80 + ++i;
1.81 + return batches.poll();
1.82 + }
1.83 }
1.84
1.85 }