energyTycoon.game
Class ServerGame

java.lang.Object
  extended by java.lang.Thread
      extended by energyTycoon.game.Game
          extended by energyTycoon.game.ServerGame
All Implemented Interfaces:
java.lang.Runnable

public class ServerGame
extends Game

Game server class

Author:
Leo CARNAUT-DELORD

Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class energyTycoon.game.Game
MESS_ALERT, MESS_INFO, MESS_PERSO, MESS_SUCCESS
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
ServerGame(Server server, int gameId, java.lang.String gameName, int scriptId, int startMoney, int nbMaxPlayer)
          ServerGame constructor
 
Method Summary
 boolean addPlayer(ServerClient client)
          add a new player to the game
 void addPowerStation(PowerStation powerStation)
          add power station in game environment and give it an id
 void compute()
          compute a frame
 void dealChatMessage(int playerId, java.lang.String message)
          deal a chat message
 void delete()
          Delete the game This function will first remove the game of the server games list.
 void deletePlayer(int playerId)
          delete a player
 java.lang.String getLineDefinition()
          get all parameters for defining this game by network
 boolean isStarted()
          is the game started ?
 void powerStation_explode(int powerStationId, int pollution)
           
 void run()
          launch the thread, start the game
 void sendServerInfo(int playerId, java.lang.String message, int type)
           
 void sendServerInfoToEverybodyExempt(int playerId, java.lang.String message, int type)
           
 void sendTo(int playerId, java.lang.String message)
          send message to player of the given id
 void sendToEverybody(java.lang.String message)
          send a message to everybody
 void sendToEverybodyExempt(java.lang.String message, int playerId)
          send a message to everybody exempt on person
 void sendToName(java.lang.String playerName, java.lang.String message)
          send message to player of the given name
 boolean startGame()
          start the game
 
Methods inherited from class energyTycoon.game.Game
getCity, getDay, getGameId, getGameName, getHour, getNbFramePerYear, getNbMaxPlayer, getNbPlayer, getScriptId, getSeason, getStringDate, getTime, getWeather, getWind, getYearTime, isNight, setStartDate
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ServerGame

public ServerGame(Server server,
                  int gameId,
                  java.lang.String gameName,
                  int scriptId,
                  int startMoney,
                  int nbMaxPlayer)
ServerGame constructor

Parameters:
gameId - game identifier
gameName - name of the game
scriptId - script identifier
startMoney - money the player start with
nbMaxPlayer - maximum number of player
Method Detail

addPlayer

public boolean addPlayer(ServerClient client)
add a new player to the game

Parameters:
client - ServerClient that receive network message

deletePlayer

public void deletePlayer(int playerId)
delete a player

Parameters:
playerId - player identifier we want to remove from the game

delete

public void delete()
Delete the game This function will first remove the game of the server games list. The server will so call this function again. The second time the server will try to delete the game, this function won't be called because the game is not in the list anymore. Players will be deleted just once because the function empty the list


compute

public void compute()
Description copied from class: Game
compute a frame

Specified by:
compute in class Game

startGame

public boolean startGame()
start the game

Returns:
true if the game have been started

run

public void run()
launch the thread, start the game

Specified by:
run in interface java.lang.Runnable
Specified by:
run in class Game

dealChatMessage

public void dealChatMessage(int playerId,
                            java.lang.String message)
deal a chat message

Parameters:
playerId - player that send the message
message - message the player sent

sendServerInfo

public void sendServerInfo(int playerId,
                           java.lang.String message,
                           int type)

sendServerInfoToEverybodyExempt

public void sendServerInfoToEverybodyExempt(int playerId,
                                            java.lang.String message,
                                            int type)

getLineDefinition

public java.lang.String getLineDefinition()
get all parameters for defining this game by network

Returns:
String defining game

sendToEverybodyExempt

public void sendToEverybodyExempt(java.lang.String message,
                                  int playerId)
send a message to everybody exempt on person

Parameters:
message - message to send
playerId - player ID to exclude

sendToEverybody

public void sendToEverybody(java.lang.String message)
send a message to everybody

Parameters:
message - message to send

sendToName

public void sendToName(java.lang.String playerName,
                       java.lang.String message)
send message to player of the given name

Parameters:
playerName - the players name
message - the message to send

sendTo

public void sendTo(int playerId,
                   java.lang.String message)
send message to player of the given id

Parameters:
playerId - the players id
message - the message to send

isStarted

public boolean isStarted()
is the game started ?

Returns:
true if the game is started

powerStation_explode

public void powerStation_explode(int powerStationId,
                                 int pollution)
Parameters:
powerStationId -
pollution -

addPowerStation

public void addPowerStation(PowerStation powerStation)
add power station in game environment and give it an id

Parameters:
powerStation -