Implement tableDifference (and fix test...)
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@144 72836036-5685-4462-b002-a69064685172
This commit is contained in:
parent
f5075789fa
commit
7ee737f0d3
2 changed files with 19 additions and 6 deletions
|
@ -1,5 +1,6 @@
|
|||
package jrummikub.control;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import jrummikub.model.IGameState;
|
||||
|
@ -7,7 +8,9 @@ import jrummikub.model.IHand;
|
|||
import jrummikub.model.ITable;
|
||||
import jrummikub.model.Position;
|
||||
import jrummikub.model.Stone;
|
||||
import jrummikub.model.StoneSet;
|
||||
import jrummikub.util.IListener;
|
||||
import jrummikub.util.Pair;
|
||||
import jrummikub.view.IView;
|
||||
|
||||
public class RoundControl {
|
||||
|
@ -52,10 +55,8 @@ public class RoundControl {
|
|||
for (int i = 0; i < gameState.getPlayerCount(); i++) {
|
||||
IHand hand = gameState.getPlayer(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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -65,7 +66,20 @@ public class RoundControl {
|
|||
}
|
||||
|
||||
static Set<Stone> tableDifference(ITable oldTable, ITable newTable) {
|
||||
return null;
|
||||
Set<Stone> ret = new HashSet<Stone>();
|
||||
|
||||
for (Pair<StoneSet, Position> entry : newTable) {
|
||||
for (Stone stone : entry.getFirst()) {
|
||||
ret.add(stone);
|
||||
}
|
||||
}
|
||||
for (Pair<StoneSet, Position> entry : oldTable) {
|
||||
for (Stone stone : entry.getFirst()) {
|
||||
ret.remove(stone);
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
private void resetTable() {
|
||||
|
|
|
@ -227,7 +227,6 @@ public class RoundControlTest {
|
|||
newTable.drop(newSet2, new Position(0, 0));
|
||||
|
||||
Set<Stone> expectedStones = new HashSet<Stone>();
|
||||
expectedStones.add(blueTwo);
|
||||
expectedStones.add(blueThree);
|
||||
expectedStones.add(blueFour);
|
||||
|
||||
|
|
Reference in a new issue