// Parses initialize XML and calls initialize on player // Returns void XML response public String initializeHandler(XElement initXML) { XMLDecoder.checkOrderOfTagsFromXML(new List <string> { "color", "list" }, initXML.Elements().ToList()); String color = XMLDecoder.xmlToColor(initXML.Element("color")); List <string> playerOrder = XMLDecoder.xmlToListOfColors(initXML.Element("list")); player.initialize(color, playerOrder); // Return void return(XMLEncoder.toString(XMLEncoder.encodeVoid())); }
// Parses play turn XML and calls play turn on player // Returns tile XML response public String playTurnHandler(XElement playTurnXML) { XMLDecoder.checkOrderOfTagsFromXML(new List <string> { "board", "set", "n" }, playTurnXML.Elements().ToList()); Board b = XMLDecoder.xmlToBoard(playTurnXML.Element("board")); List <Tile> hand = XMLDecoder.xmlToListOfTiles(playTurnXML.Element("set")); int numTilesInDrawPile = XMLDecoder.xmlToNumber(playTurnXML.Element("n")); Tile tileToPlay = player.playTurn(b, hand, numTilesInDrawPile); String responseTile = XMLEncoder.toString(XMLEncoder.tileToXML(tileToPlay)); return(responseTile); }