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
This commit is contained in:
parent
a4f5beb005
commit
46cf40c44f
2 changed files with 74 additions and 5 deletions
|
@ -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<Stone> tableDiff = tableDifference(gameState.getTable(), clonedTable);
|
||||
Set<Stone> 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<StoneSet> tableSetDifference(ITable oldTable, ITable newTable) {
|
||||
List<StoneSet> ret = new ArrayList<StoneSet>();
|
||||
|
||||
for (Pair<StoneSet, Position> entry : newTable) {
|
||||
ret.add(entry.getFirst());
|
||||
}
|
||||
for (Pair<StoneSet, Position> entry : oldTable) {
|
||||
ret.remove(entry.getFirst());
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
Reference in a new issue