From cb018dd0f012fc874c42506ab0adb398226d6538 Mon Sep 17 00:00:00 2001 From: LevelX2 <ludwig.hirth@online.de> Date: Tue, 1 Apr 2014 00:07:49 +0200 Subject: [PATCH] * Changed tournament result genration and disconnect time formatting. --- .../src/main/java/mage/server/User.java | 15 ++++++++++++--- .../mage/game/tournament/TournamentImpl.java | 18 +++++++++--------- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/Mage.Server/src/main/java/mage/server/User.java b/Mage.Server/src/main/java/mage/server/User.java index 315a0a1e61..8815ebfa31 100644 --- a/Mage.Server/src/main/java/mage/server/User.java +++ b/Mage.Server/src/main/java/mage/server/User.java @@ -137,9 +137,18 @@ public class User { public String getDisconnectDuration() { long secondsDisconnected = SystemUtil.getDateDiff(lastActivity, new Date(), TimeUnit.SECONDS); - int minutes = (int) secondsDisconnected / 60; - int seconds = (int) secondsDisconnected % 60; - return new StringBuilder(Integer.toString(minutes)).append(":").append(seconds > 9 ? seconds: "0" + Integer.toString(seconds)).toString(); + long secondsLeft = 0; + String sign = ""; + if (secondsDisconnected > (3 * 60)) { + sign="-"; + secondsLeft = secondsDisconnected - (3 *60); + } else { + secondsLeft = (3 * 60) - secondsDisconnected; + } + + int minutes = (int) secondsLeft / 60; + int seconds = (int) secondsLeft % 60; + return new StringBuilder(sign).append(Integer.toString(minutes)).append(":").append(seconds > 9 ? seconds: "0" + Integer.toString(seconds)).toString(); } public Date getConnectionTime() { diff --git a/Mage/src/mage/game/tournament/TournamentImpl.java b/Mage/src/mage/game/tournament/TournamentImpl.java index 6acc3d46ef..9a2b2693df 100644 --- a/Mage/src/mage/game/tournament/TournamentImpl.java +++ b/Mage/src/mage/game/tournament/TournamentImpl.java @@ -200,11 +200,10 @@ public abstract class TournamentImpl implements Tournament { } protected void playRound(Round round) { - for (TournamentPairing pair: round.getPairs()) { playMatch(pair); } - + updateResults(); // show points from byes while (!round.isRoundOver()) { try { //TODO: improve this @@ -255,8 +254,8 @@ public abstract class TournamentImpl implements Tournament { } } // Add round result - tp1.setResults(addRoundResult(pair, tp1, tp2)); - tp2.setResults(addRoundResult(pair, tp2, tp1)); + tp1.setResults(addRoundResult(round.getRoundNumber(), pair, tp1, tp2)); + tp2.setResults(addRoundResult(round.getRoundNumber(), pair, tp2, tp1)); // Add points if (mp2.hasQuit() || mp1.getWins() > mp2.getWins()) { @@ -270,22 +269,23 @@ public abstract class TournamentImpl implements Tournament { } } for (TournamentPlayer tp : round.getPlayerByes()) { - tp.setResults(new StringBuilder(tp.getResults()).append("(Round Bye) ").toString()); + tp.setResults(new StringBuilder(tp.getResults()).append("R").append(round.getRoundNumber()).append(" ").append("Bye ").toString()); tp.setPoints(tp.getPoints() + 3); } } } - private static String addRoundResult(TournamentPairing pair, TournamentPlayer TournamentPlayer, TournamentPlayer opponentPlayer) { - StringBuilder playerResult = new StringBuilder(TournamentPlayer.getResults()); - playerResult.append(getMatchResultString(TournamentPlayer, opponentPlayer, pair.getMatch())); + private static String addRoundResult(int round, TournamentPairing pair, TournamentPlayer tournamentPlayer, TournamentPlayer opponentPlayer) { + StringBuilder playerResult = new StringBuilder(tournamentPlayer.getResults()); + playerResult.append("R").append(round).append(" "); + playerResult.append(getMatchResultString(tournamentPlayer, opponentPlayer, pair.getMatch())); return playerResult.toString(); } private static String getMatchResultString(TournamentPlayer p1, TournamentPlayer p2, Match match) { MatchPlayer mp1 = match.getPlayer(p1.getPlayer().getId()); MatchPlayer mp2 = match.getPlayer(p2.getPlayer().getId()); - StringBuilder matchResult = new StringBuilder(p1.getResults()); + StringBuilder matchResult = new StringBuilder(); matchResult.append(p2.getPlayer().getName()); matchResult.append(" (").append(mp1.getWins()); if (mp1.hasQuit()) {