private Soldier GetAssignment(Square square, Grid grid, int armySize, int soldierNum)
 {
     if (SentriesPosted(grid) && Sentry.GetSentryPoint(grid).Contains(square))
     {
         return(new Sentry(square));
     }
     else if (!grid.EnemySpawnActive && grid.MySpawnActive && armySize > grid.Count(x => x == SquareType.EnemyBot) + 5)
     {
         return(new Kamikaze(square));
     }
     else if (armySize > 6 && (soldierNum == 0 || soldierNum == 1))
     {
         return(new Sentry(square));
     }
     else if (square.DistanceFrom(grid.EnemySpawn) < 10 && grid.EnemySpawnActive)
     {
         return(new Demolitions(square));
     }
     else
     {
         return(new Trooper(square));
     }
 }
        private bool SentriesPosted(Grid grid)
        {
            var sentryPoints = Sentry.GetSentryPoint(grid);

            return(sentryPoints.All(x => x == SquareType.PlayerBot));
        }