Exemple #1
0
        public static Tuple <int, int> TileSize(Board b, int winx, int winy, tileTilt tt)
        {
            int difx, dify;
            Tuple <int, int, int, int> extent = b.GetExtent(tt);

            difx = extent.Item3 - extent.Item1 + 2;
            dify = extent.Item4 - extent.Item2 + 2;
            difx = (int)(winx / difx);
            dify = (int)(winy / dify);
            return(new Tuple <int, int>(difx, dify));
        }
Exemple #2
0
        public Tuple <int, int, int, int> GetExtent(tileTilt tt)
        {
            int         xmax, xmin, ymax, ymin;
            List <Tile> tlist = GetTiles();

            xmax = tlist.Max <Tile>(tl => (tt == tileTilt.vertical) ? 2 * tl.x + tl.y : 2 * tl.x);
            xmin = tlist.Min <Tile>(tl => (tt == tileTilt.vertical) ? 2 * tl.x + tl.y : 2 * tl.x);
            ymax = tlist.Max <Tile>(tl => (tt == tileTilt.horizontal) ? 2 * tl.y + tl.x : 2 * tl.y);
            ymin = tlist.Min <Tile>(tl => (tt == tileTilt.horizontal) ? 2 * tl.y + tl.x : 2 * tl.y);

            return(new Tuple <int, int, int, int>(xmin, ymin, xmax, ymax));
        }
Exemple #3
0
        public static List <Tuple <Tile, int, int> > Tilate(Board b, int winx, int winy, tileTilt tt)
        {
            List <Tuple <Tile, int, int> > mylist = new List <Tuple <Tile, int, int> >();
            Tuple <int, int, int, int>     extent = b.GetExtent(tt);
            Tuple <int, int> ts = TileSize(b, winx, winy, tt);
            List <Tile>      tl = b.GetTiles();

            foreach (Tile t in tl)
            {
                int x = (tt == tileTilt.vertical) ? 2 * t.x + t.y : 2 * t.x;
                int y = (tt == tileTilt.horizontal) ? 2 * t.y + t.x : 2 * t.y;
                x -= extent.Item1;
                y -= extent.Item2;
                x  = x * ts.Item1;
                y  = y * ts.Item2;
                mylist.Add(new Tuple <Tile, int, int>(t, x, y));
            }

            return(mylist);
        }