From 46cf40c44ff87e51e4ad6165b4371d61df3f21eb Mon Sep 17 00:00:00 2001 From: Ida Massow Date: Mon, 16 May 2011 22:24:11 +0200 Subject: Test und implementierung von tableSetDifference, getestet und alles :-) git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@246 72836036-5685-4462-b002-a69064685172 --- src/jrummikub/control/RoundControl.java | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) (limited to 'src/jrummikub/control') diff --git a/src/jrummikub/control/RoundControl.java b/src/jrummikub/control/RoundControl.java index dad2e30..c46d402 100644 --- a/src/jrummikub/control/RoundControl.java +++ b/src/jrummikub/control/RoundControl.java @@ -33,9 +33,9 @@ public class RoundControl { * Create a new RoundControl using the given gameState and view * * @param gameState - * initial game state + * initial game state * @param view - * view used for user interaction + * view used for user interaction */ public RoundControl(IGameState gameState, IView view) { this.gameState = gameState; @@ -99,14 +99,17 @@ public class RoundControl { for (int i = 0; i < gameState.getPlayerCount(); i++) { IHand hand = gameState.getNthNextPlayer(i).getHand(); for (int j = 0; j < 7; j++) { - hand.drop(gameState.getGameHeap().drawStone(), new Position(j, 0)); - hand.drop(gameState.getGameHeap().drawStone(), new Position(j, 1)); + hand.drop(gameState.getGameHeap().drawStone(), new Position(j, + 0)); + hand.drop(gameState.getGameHeap().drawStone(), new Position(j, + 1)); } } } private void endOfTurn() { - Set tableDiff = tableDifference(gameState.getTable(), clonedTable); + Set tableDiff = tableDifference(gameState.getTable(), + clonedTable); if (!tableDiff.isEmpty()) { // Player has made a move if (clonedTable.isValid()) { @@ -145,7 +148,18 @@ public class RoundControl { ret.remove(stone); } } + return ret; + } + static List tableSetDifference(ITable oldTable, ITable newTable) { + List ret = new ArrayList(); + + for (Pair entry : newTable) { + ret.add(entry.getFirst()); + } + for (Pair entry : oldTable) { + ret.remove(entry.getFirst()); + } return ret; } -- cgit v1.2.3