public interface ServerProxy
Modifier and Type | Method and Description |
---|---|
GameModel |
acceptTrade(boolean willAccept)
Notifies the server whether this player has decided to accept or reject a trade
|
void |
addAI(AIType aiType)
Adds an AI to the game
|
GameModel |
buildCity(Coordinate location)
Notifies the server that the user has decided to build a city
|
GameModel |
buildRoad(Coordinate start,
Coordinate end,
boolean free)
Notifies the server that the user has decided to build a road
|
GameModel |
buildSettlement(Coordinate location,
boolean free)
Notifies the server that the user has decided to build a settlement
|
GameModel |
buyDevCard()
Notifies the server that the user has bought a development card
|
GameInfo |
createGame(boolean randomTiles,
boolean randomNumbers,
boolean randomPorts,
java.lang.String name)
Creates a game on the server
|
GameModel |
discardCards(java.util.List<java.lang.Integer> resourceList)
Notifies the server that the user has discarded cards
|
GameModel |
finishTurn()
Notifies the server that the user has finished his turn
|
GameModel |
getGameModel(int version)
Retrieves the game model from the server
|
int |
getUserId()
Gets the player ID
|
java.lang.String |
getUserName()
Gets the current user's name
|
void |
joinGame(int id,
CatanColor color) |
java.util.List<AIType> |
listAI() |
java.util.List<GameInfo> |
listGames()
Fetches a list of ongoing games
|
boolean |
loginUser(java.lang.String username,
java.lang.String password)
Logs the specified user in and returns a User object if the user was
successfully logged in.
|
GameModel |
maritimeTrade(int ratio,
ResourceType inputResource,
ResourceType outputResource)
Notifies the server that the user has decided to initiate a maritime trade
|
GameModel |
monopolyCard(ResourceType resource)
Notifies the server that the user has played a monopoly card
|
GameModel |
monumentCard()
Notifies the server that the user has played a monument card
|
GameModel |
offerTrade(java.util.List<java.lang.Integer> resourceList,
int receiver)
Notifies the server that the user has decided to offer a trade to another player
|
boolean |
registerUser(java.lang.String username,
java.lang.String password)
Registers a user with the specified username and password
|
GameModel |
roadBuildingCard(Coordinate start1,
Coordinate end1,
Coordinate start2,
Coordinate end2)
Notifies the server that the user has played a road building card
|
GameModel |
robPlayer(int victimIndex,
Coordinate location)
Notifies the server that the user has decided to rob another player
|
GameModel |
rollNumber(int roll)
Reports the result of a dice roll to the server
|
GameModel |
sendChat(java.lang.String content)
Sends a chat message from the specified user to the server
|
GameModel |
soldierCard(int victimIndex,
Coordinate location)
Notifies the server that the user has played a soldier card
|
GameModel |
yearOfPlentyCard(ResourceType resource1,
ResourceType resource2)
Notifies the server that the user has played a year of plenty card
|
boolean loginUser(java.lang.String username, java.lang.String password) throws ServerProxyException
username
- The username of the user to log inpassword
- The password of the user to log inServerProxyException
- if the user could not be logged inboolean registerUser(java.lang.String username, java.lang.String password) throws ServerProxyException
username
- The username of the user to be registeredpassword
- The password of the user to be registeredServerProxyException
- if this user could not be registeredjava.util.List<GameInfo> listGames() throws ServerProxyException
ServerProxyException
java.lang.String getUserName() throws ServerProxyException
ServerProxyException
- if not logged inint getUserId()
GameInfo createGame(boolean randomTiles, boolean randomNumbers, boolean randomPorts, java.lang.String name) throws ServerProxyException
randomTiles
- Whether the server should place random tilesrandomNumbers
- Whether the server should place random number chitsrandomPorts
- Whether the server should place random portsname
- The name of the game to be createdServerProxyException
- if something goes wrongvoid joinGame(int id, CatanColor color) throws ServerProxyException
color
- the color the user wishes to represent himServerProxyException
- if something goes wrongGameModel getGameModel(int version) throws ServerProxyException
version
- the current version of the model in the clientServerProxyException
- if something goes wrongvoid addAI(AIType aiType) throws ServerProxyException
aiType
- the type of AI the user wishes to addServerProxyException
- if there is no logged in userjava.util.List<AIType> listAI() throws ServerProxyException
ServerProxyException
- if there is no logged in userGameModel sendChat(java.lang.String content) throws ServerProxyException
content
- The content of the chat messageServerProxyException
- if there is no logged in userGameModel rollNumber(int roll) throws ServerProxyException
roll
- The result of the user's rollServerProxyException
- if there is no logged in userGameModel robPlayer(int victimIndex, Coordinate location) throws ServerProxyException
victimIndex
- The index of the victim of the user's robbinglocation
- The new coordinate location of the robberServerProxyException
- if there is no logged in userGameModel finishTurn() throws ServerProxyException
user
- The User who has finished his turnServerProxyException
- if there is no logged in userGameModel buyDevCard() throws ServerProxyException
ServerProxyException
- if there is no logged in userGameModel yearOfPlentyCard(ResourceType resource1, ResourceType resource2) throws ServerProxyException
resource1
- The first chosen resourceresource2
- The second chosen resourceServerProxyException
- if there is no logged in userGameModel roadBuildingCard(Coordinate start1, Coordinate end1, Coordinate start2, Coordinate end2) throws ServerProxyException
start1
- The start coordinate of the first roadend1
- The end coordinate of the first roadstart2
- The start location of the second roadend2
- The end location of the second roadServerProxyException
- if there is no logged in userGameModel soldierCard(int victimIndex, Coordinate location) throws ServerProxyException
victimIndex
- The index of the player who is being robbedlocation
- The new location of the robberServerProxyException
- if there is no logged in userGameModel monopolyCard(ResourceType resource) throws ServerProxyException
resource
- The resource that the player has chosen to have a monopoly onServerProxyException
- if there is no logged in userGameModel monumentCard() throws ServerProxyException
ServerProxyException
- if there is no logged in userGameModel buildRoad(Coordinate start, Coordinate end, boolean free) throws ServerProxyException
start
- the Coordinate where the road startsend
- the Coordinate where the road endsfree
- Whether this road was free (only true during the set up phases)ServerProxyException
- if there is no logged in userGameModel buildSettlement(Coordinate location, boolean free) throws ServerProxyException
location
- The vertex coordinate of the settlementfree
- Whether this settlement was free (only true during the set up phases)ServerProxyException
- if there is no logged in userGameModel buildCity(Coordinate location) throws ServerProxyException
location
- The vertex location of the cityServerProxyException
- if there is no logged in userGameModel offerTrade(java.util.List<java.lang.Integer> resourceList, int receiver) throws ServerProxyException
resourceList
- A list of the resources that the user wishes to trade, in this order: brick, ore, sheep,
wheat, and wood. Negative values denotes that this user will give these resources, and positive values denote
the resources that will be receivedreceiver
- The index of the player who will receive this trade offerServerProxyException
- if there is no logged in userGameModel acceptTrade(boolean willAccept) throws ServerProxyException
willAccept
- true if the user will accept the trade, false if notServerProxyException
- if there is no logged in userGameModel maritimeTrade(int ratio, ResourceType inputResource, ResourceType outputResource) throws ServerProxyException
ratio
- The ratio of resources demanded by the harborinputResource
- The resources traded awayoutputResource
- The resource receivedServerProxyException
- if there is no logged in userGameModel discardCards(java.util.List<java.lang.Integer> resourceList) throws ServerProxyException
resourceList
- A list of integers that denotes how many of each resource the user will discard. The
order is brick, ore, sheep, wheat, and woodServerProxyException
- if there is no logged in user