// Constructor parses a message string into a BoardState object. // Throws an exception if the message string does not represent a // valid BoardState message. public BoardState(string msg) { if (!GameMessage.IsBoardState(msg)) throw new Exception("This is not a BoardState message."); // Remove all whitespace from the message string. string msgString = RemoveAllWhiteSpace(msg); this.data = msgString; // Strip packet wrapper. string boardString = GameMessage.GetMessageData(msg); boardString = boardString.Substring(1, boardString.Length - 2); this.board = GetBoardStateFromString(msgString); }
// Parse a message string into a SkeletonBoard object. private SkeletonBoard GetBoardStateFromString(string msg) { SkeletonBoard board = new SkeletonBoard(); // Strip packet wrapper. string boardString = SkeletonMessage.GetMessageData(msg); boardString = boardString.Substring(1, boardString.Length - 2); // Parse the string throw new Exception("TODO"); }
// Constructor to instantiate a new BoardState based on the // specified SkeletonBoard object. public BoardState(SkeletonBoard aBoard) { this.data = GetStringFromBoardState(aBoard); this.board = (SkeletonBoard)aBoard.Copy(); }