public void MoveForward(ISentientEntity TheWarrior, Room TheRoom)
        {
            var oldCoordinates = TheRoom.GetCoordinatesOf(TheWarrior);
            var newCoordinates = oldCoordinates.Compute(TheWarrior.CurrentDirection, 1);

            if (!(TheRoom.GetEntityAtCoordinate(newCoordinates) is Wall))
            {
                TheRoom.MoveEntity(oldCoordinates, newCoordinates);
            }
        }
        public void ExitRoom(Warrior TheWarrior, Room TheRoom)
        {
            var currentCoordinates = TheRoom.GetCoordinatesOf(TheWarrior);
            var currentUnit        = TheRoom.GetUnitAt(currentCoordinates);

            if (currentUnit is ExitPoint)
            {
                TheRoom.Remove(TheWarrior);
            }
        }
 public void MoveForward(ISentientEntity TheWarrior, Room TheRoom)
 {
     var oldCoordinates = TheRoom.GetCoordinatesOf(TheWarrior);
     var newCoordinates = oldCoordinates.Compute(TheWarrior.CurrentDirection, 1);
     if(!(TheRoom.GetEntityAtCoordinate(newCoordinates) is Wall))
         TheRoom.MoveEntity(oldCoordinates, newCoordinates);
 }
 public WorldCoordinates GetCoordinatesOf(IEntity theWarrior, Room theRoom)
 {
     return theRoom.GetCoordinatesOf(theWarrior);
 }
 public void ExitRoom(Warrior TheWarrior, Room TheRoom)
 {
     var currentCoordinates = TheRoom.GetCoordinatesOf(TheWarrior);
     var currentUnit = TheRoom.GetUnitAt(currentCoordinates);
     if (currentUnit is ExitPoint)
     {
         TheRoom.Remove(TheWarrior);
     }
 }
 public WorldCoordinates GetCoordinatesOf(IEntity theWarrior, Room theRoom)
 {
     return(theRoom.GetCoordinatesOf(theWarrior));
 }