// -- Constructor -- // public Level() { width = 1280; height = 720; tile = new Tile(); redPlayer = new RedPlayer(); bluePlayer = new BluePlayer(); grid = new Tile[width / tile.GetSize, height / tile.GetSize]; sorter = new TileSorter(grid.Length); AddBorder(); }
public IList <TileGrouping> ParseHandAsSevenPairs(IList <Tile> tiles) { var groupsOfPairs = new List <TileGrouping>(); tiles = TileSorter.SortTiles(tiles); for (int i = 0; i < tiles.Count - 2; i += 2) { if (tiles[i].Equals(tiles[i + 1])) { groupsOfPairs.Add(new TileGrouping(tiles[i], tiles[i + 1])); } } return(groupsOfPairs); }
protected bool IsSevenPairs(IList <Tile> uncalledTiles, IList <TileGrouping> calledSets) { if (uncalledTiles.Count != WinningHandBaseTileCount || calledSets.Any() || uncalledTiles.ToHashSet().Count != WinningHandBaseTileCount / 2) { return(false); } uncalledTiles = TileSorter.SortTiles(uncalledTiles); for (int i = 0; i < uncalledTiles.Count - 2; i += 2) { if (!uncalledTiles[i].Equals(uncalledTiles[i + 1])) { return(false); } } return(true); }
public TileLibrary() { string tileDir = MainWindow.TileDirectory; string tileImageDir = MainWindow.TileImagesDirectory; string[] tile_files = System.IO.Directory.GetFiles(tileDir); foreach (string file in tile_files) { if (file.EndsWith(".txt")) { string[] lines = System.IO.File.ReadAllText(System.IO.Path.Combine(tileDir, file)).Split('\n'); foreach (string line in lines) { string trimmed = line.Trim(); if (trimmed.Length > 0 && trimmed[0] != '#') { string[] parts = trimmed.Split('\t'); try { string id = parts[0]; string[] org = parts[1].Split('/'); string folder = org[0]; string name = org[1]; string[] images = parts[2].Split('|'); Tile t = new Tile(images, id, name, file.EndsWith("\\doors.txt")); this.AddTileToHierarchy(t, folder, name); this.tiles.Add(id, t); } catch (Exception e) { } } } } } TileSorter ts = new TileSorter(); this.folders.Sort(); foreach (string folder in this.folders) { this.folder_members[folder].Sort(ts); } }
public void SortHand() { UncalledTiles = TileSorter.SortTiles(UncalledTiles); }