Ejemplo n.º 1
0
        public void Mixed_terrain_directional_FOV()
        {
            const string map = @"
     #############
     #...#...#...#
     #..#.....#..#
     #.#...#...#.#
   ####.........####
  ##.A.....#.....A.##
 ##.###.........##..##
##.###.#...#...#.##..##
#.## #..#.....#..###..#
.##  #...#.#.#...# ##..
##   #....#.#....#  ##.
###########A###########
.......................
........#.#.#.#.#.#.#..
.......................
........#.#.#.#.#.#.#..
..#####................
........#.#.#.#.#.#.#..
.#.....#...............
.#.....##.#.#.#.#.#.#..
.#.....#...............
........#.#.#.#.#.#.#..
..#####................";

            var level = TestHelper.BuildLevel(map);

            var visibleTerrain = new byte[level.Height * level.Width];

            for (var i = 0; i < Iterations * 2; i++)
            {
                Array.Clear(visibleTerrain, 0, visibleTerrain.Length);
                BeveledVisibilityCalculatorTest.GetVisibleTerrain(level, new Point(11, 10), Direction.South, visibleTerrain, noFalloff: false);

                Array.Clear(visibleTerrain, 0, visibleTerrain.Length);
                BeveledVisibilityCalculatorTest.GetVisibleTerrain(level, new Point(11, 11), Direction.South, visibleTerrain, noFalloff: false);

                Array.Clear(visibleTerrain, 0, visibleTerrain.Length);
                BeveledVisibilityCalculatorTest.GetVisibleTerrain(level, new Point(11, 12), Direction.South, visibleTerrain, noFalloff: false);

                Array.Clear(visibleTerrain, 0, visibleTerrain.Length);
                BeveledVisibilityCalculatorTest.GetVisibleTerrain(level, new Point(12, 12), Direction.East, visibleTerrain, noFalloff: false);
            }
        }
Ejemplo n.º 2
0
        public void Mixed_terrain_LOS()
        {
            const string map = @"
     #############
     #...#...#...#
     #..#.....#..#
     #.#...#...#.#
   ####.........####
  ##.A.....#.....A.##
 ##.###.........##..##
##.###.#...#...#.##..##
#.## #..#.....#..###..#
.##  #...#.#.#...# ##..
##   #....#.#....#  ##.
###########A###########
.......................
........#.#.#.#.#.#.#..
.......................
........#.#.#.#.#.#.#..
..#####................
........#.#.#.#.#.#.#..
.#.....#...............
.#.....##.#.#.#.#.#.#..
.#.....#...............
........#.#.#.#.#.#.#..
..#####................";

            var level = TestHelper.BuildLevel(map);

            var visibleTerrain = new List <(int, byte)>();

            for (var i = 0; i < Iterations << 3; i++)
            {
                visibleTerrain.Clear();
                BeveledVisibilityCalculatorTest.GetLOS(level, new Point(19, 19), new Point(11, 11), visibleTerrain);

                visibleTerrain.Clear();
                BeveledVisibilityCalculatorTest.GetLOS(level, new Point(11, 19), new Point(11, 11), visibleTerrain);

                visibleTerrain.Clear();
                BeveledVisibilityCalculatorTest.GetLOS(level, new Point(3, 14), new Point(11, 11), visibleTerrain);

                visibleTerrain.Clear();
                BeveledVisibilityCalculatorTest.GetLOS(level, new Point(10, 8), new Point(11, 11), visibleTerrain);
            }
        }