public void ReverseVerticalTest()
        {
            BasicMap reversed = _map.ReverseVertical();

            for (int i = 0; i < reversed.Width; i++)
            {
                for (int j = 0; j < reversed.Height; j++)
                {
                    Coord        rev  = new Coord(i, j);
                    Coord        orig = new Coord(i, _map.Height - 1 - j);
                    BasicTerrain r    = reversed.GetTerrain <BasicTerrain>(rev);
                    BasicTerrain o    = _map.GetTerrain <BasicTerrain>(orig);
                    Assert.AreEqual(r.Glyph, o.Glyph, "ReverseVertical() did not edit x/y values correctly at Coord(" + i.ToString() + ", " + j.ToString() + ").");
                }
            }
        }
Ejemplo n.º 2
0
        public static BasicMap RotateDiscreet(this BasicMap m, int degrees)
        {
            if (degrees % 90 != 0)
            {
                throw new ArgumentOutOfRangeException(nameof(degrees));
            }

            BasicMap map = m;

            for (int i = degrees; i > 0; i -= 90)
            {
                map = map.SwapXy();
                map = map.ReverseVertical();
            }

            return(map);
        }