public static BoardData GetDummyBoardData() { BoardData board = new BoardData { balls = BallData.CreateEmptyBallDataMatrix(3, 3), tiles = TileData.CreateEmptyTileDataMatrix(3, 3) }; board.balls[0, 0] = BallData.GetObjective1Ball(); board.tiles[2, 2] = TileData.GetObjective1Tile(); return(board); }
public static BoardData Parse(string serializedData) { string currentField = ""; BoardData result = new BoardData(); foreach (string line in serializedData.Split(Environment.NewLine.ToCharArray())) { string trimmedLine = line.Trim(); if (trimmedLine.Length > 0) { if (trimmedLine[0] == ';') { currentField = trimmedLine.Substring(1).Trim(); } else { switch (currentField) { case "Dimension": string[] split = trimmedLine.Split(','); int x = int.Parse(split[0].Trim()); int y = int.Parse(split[1].Trim()); result.tiles = TileData.CreateEmptyTileDataMatrix(x, y); result.balls = BallData.CreateEmptyBallDataMatrix(x, y); break; case "Tiles": string[] split2 = trimmedLine.Split(' '); string[] positions = split2[1].Split(','); int x2 = int.Parse(positions[0].Trim()); int y2 = int.Parse(positions[1].Trim()); string[] type = split2[0].Split(':'); result.tiles[x2, y2] = new TileData((ObjectiveType)int.Parse(type[1]), (TileType)type[0][0]); break; case "Balls": string[] split3 = trimmedLine.Split(' '); string[] positions3 = split3[1].Split(','); int x3 = int.Parse(positions3[0].Trim()); int y3 = int.Parse(positions3[1].Trim()); string[] type3 = split3[0].Split(':'); result.balls[x3, y3] = new BallData((BallType)type3[0][0], (ObjectiveType)int.Parse(type3[1])); break; } } } } return(result); }
public void ResetBoard() { tiles = TileData.CreateEmptyTileDataMatrix(0, 0); balls = BallData.CreateEmptyBallDataMatrix(0, 0); }