|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.colossus.game.Player
net.sf.colossus.server.PlayerServerSide
public final class PlayerServerSide
Class Player holds the data for one player in a Titan game.
Field Summary | |
---|---|
private LegionServerSide |
donor
The legion which gave a summonable creature. |
private java.lang.String |
firstMarker
|
private java.util.List<Legion> |
legionsBackup
|
private static java.util.logging.Logger |
LOGGER
|
private int |
movementRoll
TODO this might be better as a state in Game since there is
always only one per game, not per player |
private java.lang.String |
playersEliminatedBackup
|
private double |
score
|
private boolean |
summoned
|
private boolean |
teleported
TODO PlayerClientSide just checks if any legion has teleported. |
private boolean |
titanEliminated
|
Constructor Summary | |
---|---|
PlayerServerSide(java.lang.String name,
GameServerSide game,
java.lang.String shortTypeName)
|
Method Summary | |
---|---|
(package private) void |
addPoints(double points,
boolean halfPoints)
Add points to this player's score. |
(package private) void |
awardPoints(int points,
LegionServerSide legion,
boolean halfPoints)
Award points and handle all acquiring related issues. |
void |
backupLoadedData()
|
(package private) boolean |
canRecruit()
Return true if any legion can recruit. |
(package private) void |
commitMoves()
|
int |
compareTo(PlayerServerSide other)
Players are sorted in order of decreasing starting tower. |
(package private) void |
computeMarkersAvailable()
Set markersAvailable based on other available information. |
(package private) int |
countMobileLegions()
Return the number of this player's legions that have legal non-teleport moves remaining. |
(package private) void |
die(Player slayer)
Turns the player dead. |
(package private) void |
eliminateTitan()
|
(package private) LegionServerSide |
getDonor()
|
(package private) java.lang.String |
getFirstMarker()
|
GameServerSide |
getGame()
Overridden to return specific flavor of Game until the upper class is sufficient. |
java.util.List<LegionServerSide> |
getLegions()
TODO remove once noone needs the specific version anymore |
(package private) int |
getMovementRoll()
|
int |
getMovementRollSS()
|
int |
getScore()
|
(package private) java.lang.String |
getStatusInfo(boolean treatDeadAsAlive)
Return a colon-separated string with a bunch of info for the status screen. |
void |
handleSlaying(Player slayer)
|
(package private) boolean |
hasSummoned()
|
boolean |
hasTeleported()
|
(package private) void |
initMarkersAvailable()
|
(package private) void |
initMarkersAvailable(java.lang.String shortColor)
|
(package private) boolean |
isTitanEliminated()
|
(package private) int |
legionsMoved()
Return the number of this player's legions that have moved. |
(package private) void |
recombineIllegalSplits()
|
(package private) void |
removeEmptyLegions()
Remove all of this player's zero-height legions. |
(package private) void |
resetTurnState()
|
boolean |
resyncBackupData()
|
(package private) int |
rollMovement()
|
(package private) void |
setDonor(LegionServerSide donor)
|
(package private) void |
setFirstMarker(java.lang.String firstMarker)
|
(package private) void |
setMovementRoll(int movementRoll)
|
void |
setScore(int score)
|
(package private) void |
setSummoned(boolean summoned)
|
(package private) void |
setTeleported(boolean teleported)
|
void |
setType(java.lang.String shortTypeName)
|
(package private) boolean |
splitLegionHasForcedMove()
Return true if two or more of this player's legions share a hex and they have a legal non-teleport move. |
(package private) void |
takeMulligan()
|
(package private) void |
truncScore()
Remove half-points. |
(package private) void |
undoAllMoves()
|
(package private) void |
undoMove(Legion legion)
|
(package private) void |
undoRecruit(Legion legion)
Tell legion to do undo the recruiting and trigger needed messages to be sent to clients |
(package private) void |
undoReinforcement(Legion legion)
Tell legion to do undo the reinforcement and trigger needed messages to be sent to clients (quite similar to undorecuit, but not exactly the same) |
(package private) void |
undoSplit(Legion splitoff)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private static final java.util.logging.Logger LOGGER
private double score
private boolean summoned
private boolean teleported
PlayerClientSide
just checks if any legion has teleported.
Pick one version and move up into Player
.
private int movementRoll
Game
since there is
always only one per game, not per player
private boolean titanEliminated
private LegionServerSide donor
private java.lang.String firstMarker
private java.lang.String playersEliminatedBackup
private final java.util.List<Legion> legionsBackup
Constructor Detail |
---|
PlayerServerSide(java.lang.String name, GameServerSide game, java.lang.String shortTypeName)
Method Detail |
---|
public GameServerSide getGame()
getGame
in class Player
public void setType(java.lang.String shortTypeName)
setType
in class Player
void initMarkersAvailable()
void initMarkersAvailable(java.lang.String shortColor)
void computeMarkersAvailable()
void setFirstMarker(java.lang.String firstMarker)
java.lang.String getFirstMarker()
public int compareTo(PlayerServerSide other)
compareTo
in interface java.lang.Comparable<PlayerServerSide>
public boolean hasTeleported()
hasTeleported
in class Player
void setTeleported(boolean teleported)
boolean hasSummoned()
void setSummoned(boolean summoned)
LegionServerSide getDonor()
void setDonor(LegionServerSide donor)
void removeEmptyLegions()
public java.util.List<LegionServerSide> getLegions()
getLegions
in class Player
int legionsMoved()
int countMobileLegions()
void commitMoves()
public int getMovementRollSS()
int getMovementRoll()
void setMovementRoll(int movementRoll)
void resetTurnState()
int rollMovement()
void takeMulligan()
void undoMove(Legion legion)
void undoAllMoves()
boolean splitLegionHasForcedMove()
boolean canRecruit()
void undoRecruit(Legion legion)
legion
- The legion which undoes the recruitingvoid undoReinforcement(Legion legion)
legion
- The legion which cancels the reinforcementvoid undoSplit(Legion splitoff)
void recombineIllegalSplits()
public void setScore(int score)
setScore
in class Player
public int getScore()
getScore
in class Player
void addPoints(double points, boolean halfPoints)
void truncScore()
void awardPoints(int points, LegionServerSide legion, boolean halfPoints)
points
- the points to awardlegion
- the legion which is entitled to acquire due to thathalfPoints
- this are already halfPoints (from fleeing)void die(Player slayer)
slayer
- The player who killed us. May be null if we just gave up or it is a draw.public void handleSlaying(Player slayer)
void eliminateTitan()
boolean isTitanEliminated()
java.lang.String getStatusInfo(boolean treatDeadAsAlive)
public void backupLoadedData()
public boolean resyncBackupData()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |