Fixed some comment and metrics warnings

git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@552 72836036-5685-4462-b002-a69064685172
This commit is contained in:
Jannis Harder 2011-06-21 18:51:23 +02:00
parent 2a553fe6a5
commit d09041304b
8 changed files with 179 additions and 120 deletions

View file

@ -6,7 +6,6 @@ import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import jrummikub.model.GameSettings;
@ -16,7 +15,8 @@ import jrummikub.model.StoneSet;
import jrummikub.util.Pair;
/**
* Logic behind the ai turns
* Logic behind the AI turns. Ability to correctly find turns is completly
* tested by the HandTest testcases.
*/
public class TurnLogic {
private GameSettings settings;

View file

@ -38,57 +38,7 @@ public class ApplicationControl {
this.view = view;
saveControl = new SaveControl(view);
view.getMenuNewGameEvent().add(new IListener() {
@Override
public void handle() {
view.getQuitWarningPanel().setMode(QuitMode.QUIT_GAME);
view.showQuitWarningPanel(true);
tempConnection = view.getQuitWarningPanel().getQuitEvent()
.add(new IListener() {
@Override
public void handle() {
abortControls();
startApplication();
view.showQuitWarningPanel(false);
tempConnection.remove();
tempConnection = null;
}
});
}
});
view.getQuitEvent().add(new IListener() {
@Override
public void handle() {
if (networkControl != null) {
return;
}
if (gameControl == null) {
System.exit(0);
} else {
view.getQuitWarningPanel().setMode(QuitMode.QUIT_PROCESS);
view.showQuitWarningPanel(true);
tempConnection = view.getQuitWarningPanel().getQuitEvent()
.add(new IListener() {
@Override
public void handle() {
System.exit(0);
}
});
}
}
});
view.getQuitWarningPanel().getCancelEvent().add(new IListener() {
@Override
public void handle() {
view.showQuitWarningPanel(false);
if (tempConnection != null) {
tempConnection.remove();
tempConnection = null;
}
}
});
addQuitGameHandlers();
view.getNetworkGameEvent().add(new IListener() {
@Override
@ -118,6 +68,66 @@ public class ApplicationControl {
});
}
private void addQuitGameHandlers() {
view.getMenuNewGameEvent().add(new IListener() {
@Override
public void handle() {
showRestartWarning();
}
});
view.getQuitEvent().add(new IListener() {
@Override
public void handle() {
if (networkControl != null) {
return;
}
if (gameControl == null) {
System.exit(0);
} else {
showQuitWarning();
}
}
});
view.getQuitWarningPanel().getCancelEvent().add(new IListener() {
@Override
public void handle() {
view.showQuitWarningPanel(false);
if (tempConnection != null) {
tempConnection.remove();
tempConnection = null;
}
}
});
}
private void showRestartWarning() {
view.getQuitWarningPanel().setMode(QuitMode.QUIT_GAME);
view.showQuitWarningPanel(true);
tempConnection = view.getQuitWarningPanel().getQuitEvent()
.add(new IListener() {
@Override
public void handle() {
abortControls();
startApplication();
view.showQuitWarningPanel(false);
tempConnection.remove();
tempConnection = null;
}
});
}
private void showQuitWarning() {
view.getQuitWarningPanel().setMode(QuitMode.QUIT_PROCESS);
view.showQuitWarningPanel(true);
tempConnection = view.getQuitWarningPanel().getQuitEvent()
.add(new IListener() {
@Override
public void handle() {
System.exit(0);
}
});
}
/**
* Create a new network login control
*/

View file

@ -40,7 +40,8 @@ public class LoginControl {
}
}));
connections.add(view.getLoginPanel().getCancelEvent().add(new IListener() {
connections.add(view.getLoginPanel().getCancelEvent()
.add(new IListener() {
@Override
public void handle() {
abort();
@ -52,6 +53,8 @@ public class LoginControl {
/**
* Open Login panel
*
* @param reset
* when true resets the information in the login panel
*/
public void startLogin(boolean reset) {
if (reset) {

View file

@ -44,19 +44,20 @@ public class RoundControl {
/** There are invalid set(s) on the table */
INVALID_SETS,
/**
* The player tried to modify the table without providing the initial meld
* threshold first
* The player tried to modify the table without providing the initial
* meld threshold first
*/
INITIAL_MELD_ERROR,
/**
* The player didn't provide enough points for the initial meld threshold
* The player didn't provide enough points for the initial meld
* threshold
*/
NOT_ENOUGH_POINTS
}
/**
* Table, stone sets and type of an invalid turn to allow a user to track his
* own errors
* Table, stone sets and type of an invalid turn to allow a user to track
* his own errors
*/
public static class InvalidTurnInfo implements Serializable {
private static final long serialVersionUID = -3591000741414366776L;
@ -119,18 +120,28 @@ public class RoundControl {
protected List<Connection> connections = new ArrayList<Connection>();
private boolean mayPause;
public RoundControl(IRoundState roundState, IView view) {
this(roundState, view, true);
}
/**
* Create a new RoundControl using the given gameState and view
* Create a new RoundControl using the given roundState and view
*
* @param roundState
* initial round state
* @param view
* view used for user interaction
*/
public RoundControl(IRoundState roundState, IView view) {
this(roundState, view, true);
}
/**
* Create a new RoundControl using the given roundState and view
*
* @param roundState
* initial round state
* @param view
* view used for user interaction
* @param mayPause
* true when players are allowed to pause
*/
protected RoundControl(IRoundState roundState, IView view, boolean mayPause) {
this.roundState = roundState;
this.view = view;
@ -244,11 +255,12 @@ public class RoundControl {
}
view.getTablePanel().setStoneSets(roundState.getTable().clone());
view.setCurrentPlayerName(roundState.getActivePlayer().getPlayerSettings()
.getName());
view.setCurrentPlayerColor(roundState.getActivePlayer().getPlayerSettings()
.getColor());
view.setCurrentPlayerHasLaidOut(roundState.getActivePlayer().getLaidOut());
view.setCurrentPlayerName(roundState.getActivePlayer()
.getPlayerSettings().getName());
view.setCurrentPlayerColor(roundState.getActivePlayer()
.getPlayerSettings().getColor());
view.setCurrentPlayerHasLaidOut(roundState.getActivePlayer()
.getLaidOut());
turnControl = createTurnControl(roundState.getActivePlayer()
.getPlayerSettings().getType());
@ -284,9 +296,8 @@ public class RoundControl {
view.getPlayerPanel().setEndTurnMode(turnMode);
}
turnControl.setup(
new ITurnControl.TurnInfo(roundState, turnMode, mayPause),
roundState.getGameSettings(), view);
turnControl.setup(new ITurnControl.TurnInfo(roundState, turnMode,
mayPause), roundState.getGameSettings(), view);
turnControl.getEndOfTurnEvent().add(
new IListener2<IRoundState, InvalidTurnInfo>() {
@Override
@ -350,8 +361,10 @@ public class RoundControl {
protected void deal() {
for (int i = 0; i < roundState.getPlayerCount(); i++) {
IHand hand = roundState.getNthNextPlayer(i).getHand();
for (int j = 0; j < roundState.getGameSettings().getNumberOfStonesDealt(); j++) {
hand.drop(roundState.getGameHeap().drawStone(), new Position(0, 0));
for (int j = 0; j < roundState.getGameSettings()
.getNumberOfStonesDealt(); j++) {
hand.drop(roundState.getGameHeap().drawStone(), new Position(0,
0));
}
}
@ -399,7 +412,8 @@ public class RoundControl {
}
view.setBottomPanel(BottomPanelType.NONHUMAN_HAND_PANEL);
view.getPlayerPanel().setTime(roundState.getGameSettings().getTotalTime(),
view.getPlayerPanel().setTime(
roundState.getGameSettings().getTotalTime(),
roundState.getGameSettings().getTotalTime());
nextPlayer();
@ -487,10 +501,12 @@ public class RoundControl {
stonePoints = playerHand.isInitialMeldPossible(roundState
.getGameSettings()) ? 200 : 100;
} else {
stonePoints = playerHand.getStonePoints(roundState.getGameSettings());
stonePoints = playerHand.getStonePoints(roundState
.getGameSettings());
}
bestScore = updateBestScore(bestScore, -stonePoints, playerHand.getSize());
bestScore = updateBestScore(bestScore, -stonePoints,
playerHand.getSize());
points.add(-stonePoints);
pointSum += stonePoints;
@ -542,8 +558,8 @@ public class RoundControl {
}
/**
* Redeal stones and restart round if a player was allowed to redeal and chose
* to do so
* Redeal stones and restart round if a player was allowed to redeal and
* chose to do so
*/
private void redeal() {
turnControl = null;

View file

@ -60,7 +60,8 @@ public interface ITurnControl {
public IEvent1<ITable> getTableUpdateEvent();
/**
* The TurnInfo class encapsulates all information concerning the current turn
* The TurnInfo class encapsulates all information concerning the current
* turn
*/
public class TurnInfo {
private IRoundState roundState;
@ -78,12 +79,15 @@ public interface ITurnControl {
/**
* Creates a new TurnInfo instance
*
* @param hasLaidOut
* has the player laid out yet?
* @param roundState
* current round state
* @param turnMode
* the turn mode
* @param mayPause
* player is allowed to paues
*/
public TurnInfo(IRoundState roundState, TurnMode turnMode, boolean mayPause) {
public TurnInfo(IRoundState roundState, TurnMode turnMode,
boolean mayPause) {
this.roundState = roundState;
oldTable = roundState.getTable();
@ -97,6 +101,11 @@ public interface ITurnControl {
this.mayPause = mayPause;
}
/**
* Get the current round state
*
* @return the current round state
*/
public IRoundState getRoundState() {
return roundState;
}
@ -155,6 +164,11 @@ public interface ITurnControl {
return turnMode;
}
/**
* Return whether pausing is allowed during this turn
*
* @return true if pause is allowed
*/
public boolean isMayPause() {
return mayPause;
}

View file

@ -1,6 +1,5 @@
package jrummikub.server;
import java.io.IOException;
import java.net.InetAddress;
import org.apache.vysper.mina.TCPEndpoint;
@ -13,7 +12,9 @@ import org.apache.vysper.xmpp.modules.extension.xep0045_muc.storage.InMemoryRoom
import org.apache.vysper.xmpp.modules.roster.persistence.MemoryRosterManager;
import org.apache.vysper.xmpp.server.XMPPServer;
@SuppressWarnings("deprecation")
/**
* Implements a simple XMPP server with a global server password
*/
public class DedicatedServer {
String serverPassword;
String hostName;
@ -44,6 +45,12 @@ public class DedicatedServer {
return hostName;
}
/**
* Start the server, this blocks
*
* @throws Exception
* when there is an error during startup
*/
public void start() throws Exception {
XMPPServer server = new XMPPServer(hostName);
@ -67,6 +74,9 @@ public class DedicatedServer {
}
/**
* Allow authorization using a single password for all users
*/
public class ServerPasswordAuthorization implements UserAuthorization {
@Override
public boolean verifyCredentials(Entity entity, String password,
@ -81,9 +91,16 @@ public class DedicatedServer {
}
}
/**
* Main for a simple command line dedicated server
*
* @param args
* first argument specifies the server password, it is "jrummikub"
* when none is specified
*/
public static void main(String[] args) {
DedicatedServer server = new DedicatedServer("password");
DedicatedServer server = new DedicatedServer(args.length >= 1 ? args[0]
: "jrummikub");
System.out.println("Server hostname is " + server.getHostName());
try {
server.start();

View file

@ -221,6 +221,9 @@ public interface IView {
*/
public void showLoginPanel(boolean show);
/**
* Clears user input of the resetLoginPanel
*/
public void resetLoginPanel();
/**

View file

@ -369,10 +369,6 @@ class TablePanel extends AbstractStonePanel implements ITablePanel {
g.setClip(oldClip);
if (leftHoveredConnector == null && rightHoveredConnector == null) {
return; // We're done here...
}
g.translate(translation.getFirst(), translation.getSecond());
g.setClip(hoveredConnectorArea);
g.setTransform(oldTransform);