From dd643a24020145533c5b3ba6df161e3cebe21d8c Mon Sep 17 00:00:00 2001 From: Jérémy Zurcher Date: Wed, 9 Dec 2015 01:02:57 +0100 Subject: Battle,Ctrl: simplify turn end and change --- .../rustanddust/game/battles/BattleCommon.java | 22 ++++++++++++++++------ .../asynk/rustanddust/game/battles/BattleTest.java | 14 ++++++++++---- 2 files changed, 26 insertions(+), 10 deletions(-) (limited to 'core/src/ch/asynk/rustanddust/game/battles') diff --git a/core/src/ch/asynk/rustanddust/game/battles/BattleCommon.java b/core/src/ch/asynk/rustanddust/game/battles/BattleCommon.java index 10534c87..b1c51921 100644 --- a/core/src/ch/asynk/rustanddust/game/battles/BattleCommon.java +++ b/core/src/ch/asynk/rustanddust/game/battles/BattleCommon.java @@ -71,21 +71,31 @@ public abstract class BattleCommon implements Battle } @Override - public Player getPlayer() + public boolean turnDone() { - return currentPlayer; + map.turnDone(); + currentPlayer.turnEnd(); + Player winner = getVictor(); + if (winner != null) { + currentPlayer = winner; + return true; + } else { + currentPlayer = getOpponent(); + currentPlayer.turnStart(); + return false; + } } @Override - public Player getOpponent() + public Player getPlayer() { - return ((currentPlayer == usPlayer) ? gePlayer : usPlayer); + return currentPlayer; } @Override - public void changePlayer() + public Player getOpponent() { - currentPlayer = getOpponent(); + return ((currentPlayer == usPlayer) ? gePlayer : usPlayer); } @Override diff --git a/core/src/ch/asynk/rustanddust/game/battles/BattleTest.java b/core/src/ch/asynk/rustanddust/game/battles/BattleTest.java index b9b6333f..f161a368 100644 --- a/core/src/ch/asynk/rustanddust/game/battles/BattleTest.java +++ b/core/src/ch/asynk/rustanddust/game/battles/BattleTest.java @@ -26,6 +26,16 @@ public class BattleTest extends BattleCommon return (currentPlayer.is(Army.US) ? Position.TOP_RIGHT: Position.TOP_LEFT); } + @Override + public void start() + { + map.actionDone(); + map.turnDone(); + usPlayer.turnEnd(); + gePlayer.turnEnd(); + currentPlayer = gePlayer; + } + @Override public Player getVictor() { @@ -93,10 +103,6 @@ public class BattleTest extends BattleCommon setUnit(map, usPlayer, UnitId.US_PERSHING, 6, 5, Orientation.SOUTH, usExit); setUnit(map, usPlayer, UnitId.US_INFANTRY, 5, 3, Orientation.NORTH_EAST, usExit); setUnit(map, usPlayer, UnitId.US_AT_GUN, 6, 1, Orientation.SOUTH, usExit); - usPlayer.turnEnd(); - map.init(); - map.turnDone(); - currentPlayer = gePlayer; return this.map; } -- cgit v1.2.3