|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.umk.mat.merdacz.JGServer.plugins.Netris.Netris
It is externaly "locked" by lockPlugin in Room
to prevent such scenario:
p1, p2, p3 sitsDown; p1, p2, p3 startGame
while p3 startGame reaches isAllReady it gives true
and thread is switched to p2 which i.e standsUp or
p4 sitsDown
One parseRequest is runned at time. This is good beacuse we do not have to synchronize internally. But for efficience and scalabilty is should be done internally (via many locks on different resources)
All parts of JGFramework are written properly (they synchronizes) this only this plugin "problem".
Field Summary | |
(package private) BlocksManager |
blocksManager
|
static int |
blocksToGrab
|
(package private) boolean |
depsByTable
|
(package private) GameState |
state
|
(package private) GameTable |
table
|
Constructor Summary | |
Netris()
TODO give plugin *somehow* access those parts of configuration which belongs to it |
Method Summary | |
java.lang.String |
defeat(Player player)
Used to both announce that we lost or that we are giving up |
java.lang.String |
getBlocks(Player player)
|
java.lang.String |
getTable()
Gets players by table and some additional info like how much empty places we still have |
java.lang.String |
moveBlock(Player player,
org.jdom.Element move)
|
java.lang.String |
parseRequest(Player player,
org.jdom.Document doc)
|
java.lang.String |
sitDown(Player player)
|
java.lang.String |
standUp(Player player)
Consider using String playerLoginName not Player |
java.lang.String |
startGame(Player player)
|
java.lang.String |
switchPause(Player player)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
GameTable table
GameState state
BlocksManager blocksManager
boolean depsByTable
public static int blocksToGrab
Constructor Detail |
public Netris()
Method Detail |
public java.lang.String parseRequest(Player player, org.jdom.Document doc)
parseRequest
in interface Gamelet
public java.lang.String sitDown(Player player)
player
-
public java.lang.String standUp(Player player)
player
-
public java.lang.String getTable()
public java.lang.String startGame(Player player)
player
-
public java.lang.String switchPause(Player player)
player
-
public java.lang.String getBlocks(Player player)
player
-
public java.lang.String moveBlock(Player player, org.jdom.Element move)
player
-
public java.lang.String defeat(Player player)
player
-
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |