Cards bugs revealed.
authorAzamat S. Kalimoulline <turtle@bazon.ru>
Tue, 21 Jun 2011 11:55:31 +0400
changeset 1409ddaa68cccae
parent 138 fd3b663230ed
child 141 9d120210c248
Cards bugs revealed.
src/main/java/ru/alphatech/icfpc/cards/Attack.java
src/main/java/ru/alphatech/icfpc/cards/Help.java
src/main/java/ru/alphatech/icfpc/cards/K.java
src/main/java/ru/alphatech/icfpc/cards/S.java
src/main/java/ru/alphatech/icfpc/game/Player.java
src/main/java/ru/alphatech/icfpc/game/Run.java
src/main/java/ru/alphatech/icfpc/game/Value.java
src/main/java/ru/alphatech/icfpc/game/strategy/HelpStrategy.java
     1.1 --- a/src/main/java/ru/alphatech/icfpc/cards/Attack.java	Mon Jun 20 15:50:55 2011 +0400
     1.2 +++ b/src/main/java/ru/alphatech/icfpc/cards/Attack.java	Tue Jun 21 11:55:31 2011 +0400
     1.3 @@ -20,7 +20,7 @@
     1.4  		{
     1.5  			@Override
     1.6  			public String getName() {
     1.7 -				return "";
     1.8 +				return "attack(" + iobj + ")";
     1.9  			}
    1.10  			
    1.11  			@Override
    1.12 @@ -32,7 +32,7 @@
    1.13  				{
    1.14  					@Override
    1.15  					public String getName() {
    1.16 -						return "";
    1.17 +						return "attack(" + iobj + ")(" + jobj + ")";
    1.18  					}
    1.19  					@Override
    1.20  					public IValue returnValue(final IValue nobj, Player proponent, Player opponent)
    1.21 @@ -50,6 +50,8 @@
    1.22  
    1.23  								if(n <= v)
    1.24  								{
    1.25 +									proponent.getSlot(i).setVitality(v - n);
    1.26 +
    1.27  									if(jobj instanceof Value)
    1.28  									{
    1.29  										int j = ((Value)jobj).getValue();
     2.1 --- a/src/main/java/ru/alphatech/icfpc/cards/Help.java	Mon Jun 20 15:50:55 2011 +0400
     2.2 +++ b/src/main/java/ru/alphatech/icfpc/cards/Help.java	Tue Jun 21 11:55:31 2011 +0400
     2.3 @@ -22,7 +22,7 @@
     2.4  		{
     2.5  			@Override
     2.6  			public String getName() {
     2.7 -				return "";
     2.8 +				return "help(" + iobj + ")";
     2.9  			}
    2.10  			
    2.11  			@Override
    2.12 @@ -34,7 +34,7 @@
    2.13  				{
    2.14  					@Override
    2.15  					public String getName() {
    2.16 -						return "";
    2.17 +						return "help(" + iobj + ")(" + jobj + ")";
    2.18  					}
    2.19  					
    2.20  					@Override
    2.21 @@ -53,6 +53,8 @@
    2.22  								
    2.23  								if(n <= v)
    2.24  								{
    2.25 +									proponent.getSlot(i).setVitality(v - n);
    2.26 +									
    2.27  									if(jobj instanceof Value)
    2.28  									{
    2.29  										int j = ((Value)jobj).getValue();
     3.1 --- a/src/main/java/ru/alphatech/icfpc/cards/K.java	Mon Jun 20 15:50:55 2011 +0400
     3.2 +++ b/src/main/java/ru/alphatech/icfpc/cards/K.java	Tue Jun 21 11:55:31 2011 +0400
     3.3 @@ -19,14 +19,14 @@
     3.4  		{
     3.5  			@Override
     3.6  			public String getName() {
     3.7 -				return "";
     3.8 +				return "K(" + x + ")";
     3.9  			}
    3.10  			
    3.11  			public IValue returnValue(IValue y, Player proponent, Player opponent)
    3.12  			{
    3.13  				incAndTest();
    3.14  				
    3.15 -				return y;
    3.16 +				return x;
    3.17  			}
    3.18  		};
    3.19  	}
     4.1 --- a/src/main/java/ru/alphatech/icfpc/cards/S.java	Mon Jun 20 15:50:55 2011 +0400
     4.2 +++ b/src/main/java/ru/alphatech/icfpc/cards/S.java	Tue Jun 21 11:55:31 2011 +0400
     4.3 @@ -19,7 +19,7 @@
     4.4  		{
     4.5  			@Override
     4.6  			public String getName() {
     4.7 -				return "";
     4.8 +				return "S(" + f + ")";
     4.9  			}
    4.10  			
    4.11  			public IValue returnValue(final IValue g, Player proponent, Player opponent)
    4.12 @@ -30,7 +30,7 @@
    4.13  				{
    4.14  					@Override
    4.15  					public String getName() {
    4.16 -						return "";
    4.17 +						return "S(" + f + ")(" + g + ")";
    4.18  					}
    4.19  					
    4.20  					public IValue returnValue(final IValue x, Player proponent, Player opponent)
     5.1 --- a/src/main/java/ru/alphatech/icfpc/game/Player.java	Mon Jun 20 15:50:55 2011 +0400
     5.2 +++ b/src/main/java/ru/alphatech/icfpc/game/Player.java	Tue Jun 21 11:55:31 2011 +0400
     5.3 @@ -67,7 +67,14 @@
     5.4  				getSlot(batch.slot.getId()).putValue(batch.card.returnValue(value, this, myOpponent));
     5.5  				break;
     5.6  			case SLOT_TO_CARD:
     5.7 -				getSlot(batch.slot.getId()).putValue(getSlot(batch.slot.getId()).getValue().returnValue(batch.card, this, myOpponent));
     5.8 +				IValue valueC = batch.card;
     5.9 +				
    5.10 +				if(valueC instanceof Zero)
    5.11 +				{
    5.12 +					valueC = new Value(0);
    5.13 +				}
    5.14 +
    5.15 +				getSlot(batch.slot.getId()).putValue(getSlot(batch.slot.getId()).getValue().returnValue(valueC, this, myOpponent));
    5.16  				break;
    5.17  			}
    5.18  		} catch (ICFPCException exception){
     6.1 --- a/src/main/java/ru/alphatech/icfpc/game/Run.java	Mon Jun 20 15:50:55 2011 +0400
     6.2 +++ b/src/main/java/ru/alphatech/icfpc/game/Run.java	Tue Jun 21 11:55:31 2011 +0400
     6.3 @@ -26,6 +26,7 @@
     6.4  import ru.alphatech.icfpc.cards.Zero;
     6.5  import ru.alphatech.icfpc.cards.Zombie;
     6.6  import ru.alphatech.icfpc.game.Batch.OperationType;
     6.7 +import ru.alphatech.icfpc.game.strategy.HelpStrategy;
     6.8  import ru.alphatech.icfpc.game.strategy.IStrategy;
     6.9  import ru.alphatech.icfpc.game.strategy.LenarStrategy;
    6.10  
    6.11 @@ -52,7 +53,7 @@
    6.12  		registers[3] = 3;
    6.13  	}
    6.14  	
    6.15 -	private static IStrategy strategy = new LenarStrategy();
    6.16 +	private static IStrategy strategy = new HelpStrategy();
    6.17  	
    6.18  	public static Slot getRegisterByIndex(int registerIndex){
    6.19  		return proponent.getSlot( registers[registerIndex] );
     7.1 --- a/src/main/java/ru/alphatech/icfpc/game/Value.java	Mon Jun 20 15:50:55 2011 +0400
     7.2 +++ b/src/main/java/ru/alphatech/icfpc/game/Value.java	Tue Jun 21 11:55:31 2011 +0400
     7.3 @@ -29,6 +29,6 @@
     7.4  	@Override
     7.5  	public String toString()
     7.6  	{
     7.7 -		return "" + _value;
     7.8 +		return "" + (_value == 0 ? "zero" : _value);
     7.9  	}
    7.10  }
     8.1 --- a/src/main/java/ru/alphatech/icfpc/game/strategy/HelpStrategy.java	Mon Jun 20 15:50:55 2011 +0400
     8.2 +++ b/src/main/java/ru/alphatech/icfpc/game/strategy/HelpStrategy.java	Tue Jun 21 11:55:31 2011 +0400
     8.3 @@ -17,7 +17,7 @@
     8.4  	
     8.5  	public HelpStrategy() {
     8.6  	
     8.7 -		batches.addAll(new AttackHelpPolicy(TYPE.HELP, 0, 0, 1, 16).getBatches());
     8.8 +		batches.addAll(new AttackHelpPolicy(TYPE.HELP, 8, 0, 1, 16).getBatches());
     8.9  		
    8.10  	}
    8.11