/// <summary> /// Gets the top players who have played at least 100 games. /// </summary> /// <param name="experiment">The experiment.</param> /// <param name="count">The count.</param> /// <returns> /// The top N players from last experiment. /// </returns> public static IList <string> GetTopPlayersWhoHavePlayedAtLeast100Games( OnlineExperiment experiment, int count) { var playersOver100 = experiment.PlayerPosteriors.Where(ia => ia.Value.Count >= 100).ToArray(); return(!playersOver100.Any() ? null : playersOver100.OrderByDescending(ia => ia.Value.Last().GetMean()).Take(count).Select(ia => ia.Key).ToArray()); }
/// <summary> /// Gets the random n players. /// </summary> /// <param name="experiment">The experiment.</param> /// <param name="count">The count.</param> /// <returns> /// The top N players from last experiment. /// </returns> public static IList <string> GetRandomNPlayers(OnlineExperiment experiment, int count) { // Get top N players - leaderboard is already sorted return(experiment.Players.OrderBy(ia => Guid.NewGuid()).Take(count).ToArray()); }
/// <summary> /// Gets the top n players by skill. /// </summary> /// <param name="experiment">The experiment.</param> /// <param name="count">The count.</param> /// <returns> /// The top N players from last experiment. /// </returns> public static IList <string> GetTopNPlayersBySkill(OnlineExperiment experiment, int count) { // Get top N players - leaderboard is already sorted return(count == int.MaxValue ? experiment.LeaderBoard.Keys.ToArray() : experiment.LeaderBoard.Keys.Take(count).ToArray()); }
/// <summary> /// Gets the top n players by count. /// </summary> /// <param name="experiment">The experiment.</param> /// <param name="count">The count.</param> /// <returns>The top N players from last experiment.</returns> public static IList <string> GetTopNPlayersByCount(OnlineExperiment experiment, int count) { return(experiment.PlayerPosteriors.OrderByDescending(ia => ia.Value.Count).Take(count).Select(ia => ia.Key).ToArray()); }
/// <summary> /// Gets the first n players. /// </summary> /// <param name="experiment">The experiment.</param> /// <param name="count">The count.</param> /// <returns>The first N players from last experiment.</returns> public static IList <string> GetFirstNPlayers(OnlineExperiment experiment, int count) { return(experiment.Players.Take(count).ToArray()); }