public void Part3() { string[] input = new string[] { "#.#", ".#.", "#.#", }; var map = new AsteroidMap(input); int visible = map.CountVisibleAsteroids(new Point(1, 1)); Assert.Equal(4, visible); }
public void Part1() { string[] input = new string[] { ".#..#", ".....", "#####", "....#", "...##" }; var map = new AsteroidMap(input); int visible = map.CountVisibleAsteroids(new Point(3, 4)); Assert.Equal(8, visible); }
public void SolvePart1() { var input = System.IO.File.ReadAllLines("../../../input/day_10.txt"); AsteroidMap map = new AsteroidMap(input); int mostVisible = 0; Point location = new Point(); foreach (Point asteroid in map.AsteroidCoordinates) { int visible = map.CountVisibleAsteroids(asteroid); if (visible > mostVisible) { mostVisible = visible; location = asteroid; } } Assert.Equal(263, mostVisible); Assert.Equal(23, location.x); Assert.Equal(29, location.y); }
public void Part5() { string[] input = new string[] { ".#..##.###...#######", "##.############..##.", ".#.######.########.#", ".###.#######.####.#.", "#####.##.#.##.###.##", "..#####..#.#########", "####################", "#.####....###.#.#.##", "##.#################", "#####.##.###..####..", "..######..##.#######", "####.##.####...##..#", ".#####..#.######.###", "##...#.##########...", "#.##########.#######", ".####.#.###.###.#.##", "....##.##.###..#####", ".#.#.###########.###", "#.#.#.#####.####.###", "###.##.####.##.#..##" }; var map = new AsteroidMap(input); int visible = map.CountVisibleAsteroids(new Point(11, 13)); var p = AsteroidBlaster.BlastAsteroids(map.AsteroidsPerAngle, 200); Assert.Equal(210, visible); Assert.Equal(8, p.x); Assert.Equal(2, p.y); }