|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectTTTO.Game.GameServer
public class GameServer
Controls the logic of a TTTGame. Two clients must connect to the server.
Nested Class Summary | |
---|---|
class |
GameServer.ClientHandler
|
Field Summary | |
---|---|
private java.util.ArrayList<GameServer.ClientHandler> |
allPlayers
|
static java.lang.String |
DRAW
|
static java.lang.String |
FREE_SQUARE
|
static java.lang.String |
GAME_CONNECTED
|
private java.lang.String[] |
gameBoard
|
private java.lang.String |
gameName
|
private MasterServerClient |
msClient
|
static java.lang.String |
NEW_GAME
|
static java.lang.String |
PLAYER_LOSES
|
static java.lang.String |
PLAYER_MOVE
|
static java.lang.String |
PLAYER_ONE
|
static java.lang.String |
PLAYER_TWO
|
static java.lang.String |
PLAYER_WINS
|
private java.lang.String |
playerTurn
|
private java.net.ServerSocket |
serverSocket
|
Constructor Summary | |
---|---|
GameServer(java.net.ServerSocket aSocket,
MasterServerClient aMasterServerClient,
java.lang.String aGameName)
Creates a GameServer wrapped around a ServerSocket |
Method Summary | |
---|---|
private java.lang.String |
checkForWinner()
Checks if someone won yet. |
private int |
countPlayerMoves()
Counts how many player moves been made |
private boolean |
hasPlayerWon(java.lang.String aPlayerID)
Checks if the given player wins |
static boolean |
isValidCommand(java.lang.String aCommand)
Compares the string to all commands and checks if the string is a command |
static boolean |
isValidPlayerID(java.lang.String aPlayerID)
Compares the string to all player IDs and check if the string is an ID |
private void |
newGame()
Waits 2.5 seconds and inits a new game |
private void |
sendMessageToAllClients(java.lang.String aCommand,
java.lang.String[] aData)
Sends a message to all clients |
private void |
sendMessageToClient(java.lang.String aTargetClientID,
java.lang.String aCommand,
java.lang.String[] aData)
Sends message to a specific client |
void |
startServer()
Starts the server |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private java.net.ServerSocket serverSocket
private java.util.ArrayList<GameServer.ClientHandler> allPlayers
private MasterServerClient msClient
private java.lang.String gameName
private java.lang.String[] gameBoard
private java.lang.String playerTurn
public static final java.lang.String PLAYER_ONE
public static final java.lang.String PLAYER_TWO
public static final java.lang.String FREE_SQUARE
public static final java.lang.String GAME_CONNECTED
public static final java.lang.String NEW_GAME
public static final java.lang.String PLAYER_MOVE
public static final java.lang.String PLAYER_WINS
public static final java.lang.String PLAYER_LOSES
public static final java.lang.String DRAW
Constructor Detail |
---|
public GameServer(java.net.ServerSocket aSocket, MasterServerClient aMasterServerClient, java.lang.String aGameName)
aSocket
- the server socket.aMasterServerClient
- reference to the master serveraGameName
- name of the game //TODO: Not used yetMethod Detail |
---|
public static boolean isValidCommand(java.lang.String aCommand)
aCommand
- The string to check
public static boolean isValidPlayerID(java.lang.String aPlayerID)
aPlayerID
- the playerid
private void newGame()
public void startServer()
private void sendMessageToAllClients(java.lang.String aCommand, java.lang.String[] aData)
aCommand
- The GameServer commandaData
- the data to send, can be nullprivate void sendMessageToClient(java.lang.String aTargetClientID, java.lang.String aCommand, java.lang.String[] aData)
aTargetClientID
- the ID of the clientaCommand
- the GameServer commandaData
- the data to sendprivate int countPlayerMoves()
private java.lang.String checkForWinner()
private boolean hasPlayerWon(java.lang.String aPlayerID)
aPlayerID
- id of the player to check
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |