예제 #1
0
        public void TestAdvanceEastWhenAtEdgeOfGrid()
        {
            var originalPosition = new GridPoint(9, 2);

            _terrainGridInstance = new TerrainGrid(10, 10);

            var newPosition = _terrainGridInstance.AdvanceEast(originalPosition);

            Assert.IsTrue(newPosition.X == 0);
            Assert.IsTrue(newPosition.Y == originalPosition.Y);
        }
예제 #2
0
파일: Robot.cs 프로젝트: StGv/RoboWars
        public Robot(ITerrainGrid terrain, GridPoint position, CompassDirection facingDirection)
        {
            if (!terrain.IsInTerrainLimits(position))
            {
                throw new System.ArgumentException($"Specified grid point ({position.X},{position.Y}) is outside arena limits.");
            }

            _arenaTerrainGrid         = terrain;
            CurrentCompassOrientation = facingDirection;
            CurrentGridPosition       = position;
        }
예제 #3
0
        public void TestAdvanceSouthWhenAtEdgeOfGrid()
        {
            var originalPosition = new GridPoint(2, 0);

            _terrainGridInstance = new TerrainGrid(10, 10);

            var newPosition = _terrainGridInstance.AdvanceSouth(originalPosition);

            Assert.IsTrue(newPosition.X == originalPosition.X);
            Assert.IsTrue(newPosition.Y == 9);
        }
예제 #4
0
        public void TestAdvanceWest()
        {
            var originalPosition = new GridPoint(2, 2);

            _terrainGridInstance = new TerrainGrid(10, 10);

            var newPosition = _terrainGridInstance.AdvanceWest(originalPosition);

            Assert.IsTrue(newPosition.X == originalPosition.X - 1);
            Assert.IsTrue(newPosition.Y == originalPosition.Y);
        }
예제 #5
0
        public void TestObstacleNOTExists()
        {
            var obstacles = new List <GridPoint>();
            int MaxX      = new Random().Next(0, 100);
            int MaxY      = new Random().Next(0, 100);

            GridPoint obstaclePosition = new GridPoint(new Random().Next(0, MaxX), new Random().Next(0, MaxY));

            obstacles.Add(new GridPoint(obstaclePosition.X + 1, obstaclePosition.Y));

            _terrainGridInstance = new TerrainGrid(MaxX, MaxY, obstacles);

            var obstacleExists = _terrainGridInstance.ObstacleExists(obstaclePosition);

            Assert.IsFalse(obstacleExists);
        }
예제 #6
0
파일: Robot.cs 프로젝트: StGv/RoboWars
 public Robot(ITerrainGrid terrain) :
     this(terrain, new GridPoint(0, 0), CompassDirection.NORTH)
 {
 }
예제 #7
0
 public Rover(ITerrainGrid terrain, GridPoint initialPosition, CompassDirection orientation)
     : this(terrain)
 {
     CompassCurrentOrientation = orientation;
     CurrentGridPosition       = initialPosition;
 }
예제 #8
0
 public Rover(ITerrainGrid terrain)
 {
     _planetTerrainGrid        = terrain;
     CompassCurrentOrientation = CompassDirection.NORTH;
     CurrentGridPosition       = new GridPoint(0, 0);
 }
예제 #9
0
 public void SetUp()
 {
     _target = new TerrainGrid(5, 5);
 }