SteamWar/BungeeCore
Archiviert
13
2

Ranked #306

Zusammengeführt
Lixfel hat 25 Commits von Ranked nach master 2022-03-13 20:26:16 +01:00 zusammengeführt
2 geänderte Dateien mit 8 neuen und 6 gelöschten Zeilen
Nur Änderungen aus Commit 530171c2e3 werden angezeigt - Alle Commits anzeigen

Datei anzeigen

@ -73,11 +73,11 @@ public class FightEndsHandler implements SpigotHandler {
if (blueSchemOwner != 0 && redSchemOwner != 0) {
for (int bluePlayer : fightEndsPacket.getBluePlayers()) {
int playerElo = UserElo.getElo(bluePlayer, fightEndsPacket.getGameMode());
int playerElo = UserElo.getElo(bluePlayer, fightEndsPacket.getGameMode()).orElse(1000);
UserElo.setElo(bluePlayer, fightEndsPacket.getGameMode(), (int) Math.round(playerElo + K * (blueResult - blueWinExpectation)));
}
for (int redPlayer : fightEndsPacket.getRedPlayers()) {
YoyoNow markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Du hast hier sehr viel Codedopplung drin, würde mir eine teamunabhängige Abstrahierung wünschen.

Du hast hier sehr viel Codedopplung drin, würde mir eine teamunabhängige Abstrahierung wünschen.
int playerElo = UserElo.getElo(redPlayer, fightEndsPacket.getGameMode());
int playerElo = UserElo.getElo(redPlayer, fightEndsPacket.getGameMode()).orElse(1000);
UserElo.setElo(redPlayer, fightEndsPacket.getGameMode(), (int) Math.round(playerElo + K * (1 - blueResult - redWinExpectation)));
}
}

Datei anzeigen

@ -19,6 +19,8 @@
package de.steamwar.bungeecore.sql;
import java.util.Optional;
public class UserElo {
private UserElo() {
}
@ -27,15 +29,15 @@ public class UserElo {
private static final Statement setElo = new Statement("UPDATE UserELo SET Elo = ? WHERE Season = ? AND UserID = ? AND GameMode = ?");
private static final Statement place = new Statement("SELECT COUNT(*) AS Place FROM UserElo WHERE GameMode = ? AND Elo > ? AND Season = ?");
public static int getElo(int userID, String gameMode) {
public static Optional<Integer> getElo(int userID, String gameMode) {
return getElo(Season.getSeason(), userID, gameMode);
}
YoyoNow markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Da lieber eine Map<Map<>>, das bläst sich dann weniger auf.

Da lieber eine Map<Map<>>, das bläst sich dann weniger auf.
Veraltet
Review

Wie meinst du das genau?

Wie meinst du das genau?
Veraltet
Review

HashMaps brauchen zur Kollisionsvermeidung immer Freiraum. Je kleiner die HashMaps bleiben, desto besser.

HashMaps brauchen zur Kollisionsvermeidung immer Freiraum. Je kleiner die HashMaps bleiben, desto besser.
Veraltet
Review

Würdest du dann GameMode UserId oder UserId GameMode als reihenfolge wählen?

Würdest du dann GameMode UserId oder UserId GameMode als reihenfolge wählen?
Veraltet
Review

Definitiv Map<GameMode, Map<User, >>

Definitiv Map<GameMode, Map<User, >>
public static int getElo(int season, int userID, String gameMode) {
public static Optional<Integer> getElo(int season, int userID, String gameMode) {
return elo.select(rs -> {
if (rs.next())
return rs.getInt("Elo");
return 1000;
return Optional.of(rs.getInt("Elo"));
return Optional.empty();
}, userID, gameMode, season);
}