(no commit message)
authorakhmetovlz
Mon, 20 Jun 2011 03:23:40 +0400
changeset 132a995cdfdb03c
parent 126 6aa46f954627
child 133 efaeeba4c99c
(no commit message)
src/main/java/ru/alphatech/icfpc/game/strategy/LenarStrategy.java
     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  }