diff options
Diffstat (limited to 'src/jrummikub/control/TurnControl.java')
-rw-r--r-- | src/jrummikub/control/TurnControl.java | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/jrummikub/control/TurnControl.java b/src/jrummikub/control/TurnControl.java index e82b30f..0f8f776 100644 --- a/src/jrummikub/control/TurnControl.java +++ b/src/jrummikub/control/TurnControl.java @@ -24,8 +24,7 @@ public class TurnControl { static class HandStonePositionComparator implements Comparator<Pair<Stone, Position>> { @Override - public int compare(Pair<Stone, Position> pair1, - Pair<Stone, Position> pair2) { + public int compare(Pair<Stone, Position> pair1, Pair<Stone, Position> pair2) { Position pos1 = pair1.getSecond(), pos2 = pair2.getSecond(); if (pos1.getY() < pos2.getY()) { return -1; @@ -81,8 +80,8 @@ public class TurnControl { connections.add(view.getPlayerPanel().getEndTurnEvent() .add(endOfTurnListener)); - connections.add(view.getPlayerPanel().getHandPanel() - .getStoneClickEvent().add(new IListener2<Stone, Boolean>() { + connections.add(view.getPlayerPanel().getHandPanel().getStoneClickEvent() + .add(new IListener2<Stone, Boolean>() { @Override public void handle(Stone stone, Boolean collect) { @@ -90,8 +89,8 @@ public class TurnControl { } })); - connections.add(view.getPlayerPanel().getHandPanel() - .getRangeClickEvent().add(new IListener2<Stone, Boolean>() { + connections.add(view.getPlayerPanel().getHandPanel().getRangeClickEvent() + .add(new IListener2<Stone, Boolean>() { @Override public void handle(Stone stone, Boolean collect) { @@ -348,11 +347,15 @@ public class TurnControl { table.drop(joinedSet, newPos); } else { StoneSet joinedSet = new StoneSet(selectedStones).join(newSet); - table.drop(joinedSet, new Position(newPos.getX() - - selectedStones.size(), newPos.getY())); + table.drop(joinedSet, + new Position(newPos.getX() - selectedStones.size(), newPos.getY())); } } else { - table.drop(new StoneSet(selectedStones), new Position(RoundControl.HAND_WIDTH-1, RoundControl.HAND_HEIGHT-1)); + table.drop( + new StoneSet(selectedStones), + new Position( + pos.getX() + (set.size() - selectedStones.size()) * 0.5f, pos + .getY())); } selectedStones.clear(); |