Search in sources :

Example 1 with ITeam

use of jskills.ITeam in project ACManager by kun368.

the class PlayerPriorValuesToSkillsLayer method buildLayer.

@Override
public void buildLayer() {
    for (ITeam currentTeam : teams) {
        List<KeyedVariable<IPlayer, GaussianDistribution>> currentTeamSkills = new ArrayList<>();
        for (Entry<IPlayer, Rating> currentTeamPlayer : currentTeam.entrySet()) {
            KeyedVariable<IPlayer, GaussianDistribution> playerSkill = createSkillOutputVariable(currentTeamPlayer.getKey());
            AddLayerFactor(createPriorFactor(currentTeamPlayer.getKey(), currentTeamPlayer.getValue(), playerSkill));
            currentTeamSkills.add(playerSkill);
        }
        addOutputVariableGroup(currentTeamSkills);
    }
}
Also used : IPlayer(jskills.IPlayer) GaussianDistribution(jskills.numerics.GaussianDistribution) Rating(jskills.Rating) ArrayList(java.util.ArrayList) ITeam(jskills.ITeam)

Example 2 with ITeam

use of jskills.ITeam in project VoxelGamesLibv2 by VoxelGamesLib.

the class EloHandler method handleGameEnd.

/**
 * Handles the elo calculation for generic games
 *
 * @param game  the game that ended
 * @param users the users which played this game, in order, first = winner
 */
public void handleGameEnd(@Nonnull Game game, @Nonnull User... users) {
    List<ITeam> teams = new ArrayList<>();
    for (User user : users) {
        teams.add(new jskills.Team(user, user.getRating(game.getGameMode())));
    }
    Map<IPlayer, Rating> newRatings = calculator.calculateNewRatings(game.getGameMode(), teams, IntStream.of(users.length).toArray());
    update(game, newRatings);
}
Also used : IPlayer(jskills.IPlayer) User(com.voxelgameslib.voxelgameslib.user.User) Rating(jskills.Rating) ArrayList(java.util.ArrayList) ITeam(jskills.ITeam)

Example 3 with ITeam

use of jskills.ITeam in project faf-java-server by FAForever.

the class RatingService method calculateQuality.

public double calculateQuality(Rating left, Rating right) {
    jskills.Rating leftRating = ofNullable(left).map(rating -> new jskills.Rating(left.getMean(), left.getDeviation())).orElse(gameInfo.getDefaultRating());
    jskills.Rating rightRating = ofNullable(left).map(rating -> new jskills.Rating(right.getMean(), right.getDeviation())).orElse(gameInfo.getDefaultRating());
    Collection<ITeam> teams = Arrays.asList(new Team(new Player<>(1), leftRating), new Team(new Player<>(2), rightRating));
    return TrueSkillCalculator.calculateMatchQuality(gameInfo, teams);
}
Also used : Player(jskills.Player) Arrays(java.util.Arrays) ProgrammingError(com.faforever.server.error.ProgrammingError) Getter(lombok.Getter) TrueSkillCalculator(jskills.TrueSkillCalculator) HashMap(java.util.HashMap) Function(java.util.function.Function) ArrayList(java.util.ArrayList) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Service(org.springframework.stereotype.Service) Map(java.util.Map) ServerProperties(com.faforever.server.config.ServerProperties) IPlayer(jskills.IPlayer) Rating(com.faforever.server.entity.Rating) GameInfo(jskills.GameInfo) Team(jskills.Team) Optional.ofNullable(java.util.Optional.ofNullable) Collection(java.util.Collection) Collectors(java.util.stream.Collectors) Ladder1v1Rating(com.faforever.server.entity.Ladder1v1Rating) Slf4j(lombok.extern.slf4j.Slf4j) List(java.util.List) GlobalRating(com.faforever.server.entity.GlobalRating) Entry(java.util.Map.Entry) GamePlayerStats(com.faforever.server.entity.GamePlayerStats) AllArgsConstructor(lombok.AllArgsConstructor) Comparator(java.util.Comparator) ITeam(jskills.ITeam) Assert(org.springframework.util.Assert) Player(jskills.Player) IPlayer(jskills.IPlayer) Rating(com.faforever.server.entity.Rating) Ladder1v1Rating(com.faforever.server.entity.Ladder1v1Rating) GlobalRating(com.faforever.server.entity.GlobalRating) ITeam(jskills.ITeam) Team(jskills.Team) ITeam(jskills.ITeam)

Aggregations

ArrayList (java.util.ArrayList)3 IPlayer (jskills.IPlayer)3 ITeam (jskills.ITeam)3 Rating (jskills.Rating)2 ServerProperties (com.faforever.server.config.ServerProperties)1 GamePlayerStats (com.faforever.server.entity.GamePlayerStats)1 GlobalRating (com.faforever.server.entity.GlobalRating)1 Ladder1v1Rating (com.faforever.server.entity.Ladder1v1Rating)1 Rating (com.faforever.server.entity.Rating)1 ProgrammingError (com.faforever.server.error.ProgrammingError)1 User (com.voxelgameslib.voxelgameslib.user.User)1 Arrays (java.util.Arrays)1 Collection (java.util.Collection)1 Comparator (java.util.Comparator)1 HashMap (java.util.HashMap)1 List (java.util.List)1 Map (java.util.Map)1 Entry (java.util.Map.Entry)1 Optional.ofNullable (java.util.Optional.ofNullable)1 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)1