Cards bugs revealed.
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