コード例 #1
0
        public void SwapXYTest()
        {
            BasicMap reversed = _map.SwapXy();

            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(j, i);
                    BasicTerrain r    = reversed.GetTerrain <BasicTerrain>(rev);
                    BasicTerrain o    = _map.GetTerrain <BasicTerrain>(orig);
                    Assert.AreEqual(r.Glyph, o.Glyph, "SwapXY() did not swap the x/y values correctly at Coord(" + i.ToString() + ", " + j.ToString() + ").");
                }
            }
        }
コード例 #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);
        }