soc.message
Class SOCChoosePlayerRequest

java.lang.Object
  extended by soc.message.SOCMessage
      extended by soc.message.SOCChoosePlayerRequest
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, SOCMessageForGame

public class SOCChoosePlayerRequest
extends SOCMessage
implements SOCMessageForGame

This message from server to client asks a player to choose a player to steal from. The client responds with SOCChoosePlayer.

In some game scenarios in version 2.0.00 or newer, the player might have the option to steal from no one. See getChoices() for details. If the player makes that choice, the response is SOCChoosePlayer (CHOICE_NO_PLAYER).

Author:
Robert S. Thomas
See Also:
Serialized Form

Field Summary
private  boolean[] choices
          The possible choices; an array with 1 element per player number (0 to game.maxPlayers - 1).
private  java.lang.String game
          Name of game
private static long serialVersionUID
           
 
Fields inherited from class soc.message.SOCMessage
ACCEPTOFFER, ADMINPING, ADMINRESET, AUTHREQUEST, BANKTRADE, BCASTTEXTMSG, BOARDLAYOUT, BOARDLAYOUT2, BOARDSPECIALEDGE, BUILDREQUEST, BUYCARDREQUEST, CANCELBUILDREQUEST, CHANGEFACE, CHANNELS, CHOOSEPLAYER, CHOOSEPLAYERREQUEST, CLEAROFFER, CLEARTRADEMSG, CREATEACCOUNT, DEBUGFREEPLACE, DELETECHANNEL, DELETEGAME, DEVCARDACTION, DEVCARDCOUNT, DICERESULT, DICERESULTRESOURCES, DISCARD, DISCARDREQUEST, DISCOVERYPICK, ENDTURN, FIRSTPLAYER, GAME_NONE, GAMEMEMBERS, GAMEOPTIONGETDEFAULTS, GAMEOPTIONGETINFOS, GAMEOPTIONINFO, GAMES, GAMESERVERTEXT, GAMESTATE, GAMESTATS, GAMESWITHOPTIONS, GAMETEXTMSG, IMAROBOT, INVENTORYITEMACTION, JOIN, JOINAUTH, JOINGAME, JOINGAMEAUTH, LARGESTARMY, LASTSETTLEMENT, LEAVE, LEAVEALL, LEAVEGAME, LEGALEDGES, LOCALIZEDSTRINGS, LONGESTROAD, MAKEOFFER, MEMBERS, messageType, MONOPOLYPICK, MOVEPIECE, MOVEPIECEREQUEST, MOVEROBBER, NEWCHANNEL, NEWGAME, NEWGAMEWITHOPTIONS, NEWGAMEWITHOPTIONSREQUEST, NULLMESSAGE, PICKRESOURCES, PICKRESOURCESREQUEST, PIECEVALUE, PLAYDEVCARDREQUEST, PLAYERELEMENT, PLAYERELEMENTS, PLAYERSTATS, POTENTIALSETTLEMENTS, PUTPIECE, REJECTCONNECTION, REJECTOFFER, REMOVEPIECE, RESETBOARDAUTH, RESETBOARDREJECT, RESETBOARDREQUEST, RESETBOARDVOTE, RESETBOARDVOTEREQUEST, RESOURCECOUNT, REVEALFOGHEX, ROBOTDISMISS, ROBOTJOINGAMEREQUEST, ROLLDICE, ROLLDICEPROMPT, ROLLDICEREQUEST, SCENARIOINFO, sep, sep_char, sep2, sep2_char, SERVERPING, SETPLAYEDDEVCARD, SETSEATLOCK, SETSPECIALITEM, SETTURN, SETUPDONE, SIMPLEACTION, SIMPLEREQUEST, SITDOWN, STARTGAME, STATUSMESSAGE, SVPTEXTMSG, TEXTMSG, TIMINGPING, TURN, UPDATEROBOTPARAMS, VERSION
 
Constructor Summary
SOCChoosePlayerRequest(java.lang.String ga, boolean[] ch)
          Create a ChoosePlayerRequest message.
 
Method Summary
 boolean[] getChoices()
           
 java.lang.String getGame()
          Name of game this message is for.
static SOCChoosePlayerRequest parseDataStr(java.lang.String s)
          Parse the command String into a ChoosePlayerRequest message
 java.lang.String toCmd()
          CHOOSEPLAYERREQUEST sep game sep2 choices[0] sep2 choices[1] ...
static java.lang.String toCmd(java.lang.String ga, boolean[] ch)
          CHOOSEPLAYERREQUEST sep game sep2 choices[0] sep2 choices[1] ...
 java.lang.String toString()
          Simple human-readable representation, used for debug purposes.
 
Methods inherited from class soc.message.SOCMessage
arrayIntoStringBuf, enumIntoStringBuf, getClassNameShort, getMaximumVersion, getMinimumVersion, getType, isSingleLineAndSafe, isSingleLineAndSafe, toMsg
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface soc.message.SOCMessageForGame
getType
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

game

private java.lang.String game
Name of game


choices

private boolean[] choices
The possible choices; an array with 1 element per player number (0 to game.maxPlayers - 1). True means that the player with a matching index is a possible choice.

In version 2.0.00+, this array may sometimes have an extra element choices[game.maxPlayers]. If that element is true, the player may choose to steal from no one.

Constructor Detail

SOCChoosePlayerRequest

public SOCChoosePlayerRequest(java.lang.String ga,
                              boolean[] ch)
Create a ChoosePlayerRequest message.

Parameters:
ga - the name of the game
ch - the possible choices; an array with 1 element per player number (0 to game.maxPlayers - 1).

In version 2.0.00+, this array may sometimes have an extra element choices[game.maxPlayers]. If that element is true, the player may choose to steal from no one. This is used with some game scenarios; all scenarios require version 2.0.00 or newer.

Method Detail

getGame

public java.lang.String getGame()
Description copied from interface: SOCMessageForGame
Name of game this message is for. Must not be null if message is in per-game structures or code.

At the server, the message treater dispatches incoming SOCMessageForGames based on their getGame():

Specified by:
getGame in interface SOCMessageForGame
Returns:
the name of the game
See Also:
SOCMessage.GAME_NONE

getChoices

public boolean[] getChoices()
Returns:
the choices; an array with 1 element per player number (0 to game.maxPlayers - 1).

In version 2.0.00+, this array may sometimes have an extra element choices[game.maxPlayers]. If that element is true, the player may choose to steal from no one. This is used with some game scenarios; all scenarios require version 2.0.00 or newer.


toCmd

public java.lang.String toCmd()
CHOOSEPLAYERREQUEST sep game sep2 choices[0] sep2 choices[1] ...

Specified by:
toCmd in class SOCMessage
Returns:
the command string

toCmd

public static java.lang.String toCmd(java.lang.String ga,
                                     boolean[] ch)
CHOOSEPLAYERREQUEST sep game sep2 choices[0] sep2 choices[1] ...

Parameters:
ga - the name of the game
ch - the choices; an array with 1 element per player number (0 to game.maxPlayers - 1). May be longer in v2.0.00 scenarios; see getChoices().
Returns:
the command string

parseDataStr

public static SOCChoosePlayerRequest parseDataStr(java.lang.String s)
Parse the command String into a ChoosePlayerRequest message

Parameters:
s - the String to parse
Returns:
a ChoosePlayerRequest message, or null of the data is garbled

toString

public java.lang.String toString()
Description copied from class: SOCMessage
Simple human-readable representation, used for debug purposes.

Specified by:
toString in class SOCMessage
Returns:
a human readable form of the message