From 40455d9ac6288ed06d9428aaba09a65a0e9728ba Mon Sep 17 00:00:00 2001 From: Lorenz Hohmann Date: Wed, 12 Jan 2022 11:41:14 +0100 Subject: [PATCH 1/8] Added GameManager and check if GameState is correct after start function call --- .../java/de/tims/fleetstorm/GameManager.java | 19 +++++++++++++++++ .../de/tims/fleetstorm/GameManagerTest.java | 21 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 src/main/java/de/tims/fleetstorm/GameManager.java create mode 100644 src/test/java/de/tims/fleetstorm/GameManagerTest.java diff --git a/src/main/java/de/tims/fleetstorm/GameManager.java b/src/main/java/de/tims/fleetstorm/GameManager.java new file mode 100644 index 0000000..8f682cc --- /dev/null +++ b/src/main/java/de/tims/fleetstorm/GameManager.java @@ -0,0 +1,19 @@ +package de.tims.fleetstorm; + +public class GameManager { + + private int gameState; + + public static final int PREPARATION = 1; + public static final int RUNNING = 2; + public static final int OVER = 3; + + public void start() { + this.gameState = GameManager.PREPARATION; + } + + public int getGameState() { + return gameState; + } + +} diff --git a/src/test/java/de/tims/fleetstorm/GameManagerTest.java b/src/test/java/de/tims/fleetstorm/GameManagerTest.java new file mode 100644 index 0000000..d90e85f --- /dev/null +++ b/src/test/java/de/tims/fleetstorm/GameManagerTest.java @@ -0,0 +1,21 @@ +package de.tims.fleetstorm; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.jupiter.api.Test; + +class GameManagerTest { + + GameManager gameManager = new GameManager(); + + @Test + void testIfGameStateIsPreparationAfterStart() { + gameManager.start(); + int expectedState = GameManager.PREPARATION; + + int calculatedState = gameManager.getGameState(); + + assertEquals(expectedState, calculatedState); + } + +} From 1155d7c0d32ed2d9e16a966e27400c70cdbd4802 Mon Sep 17 00:00:00 2001 From: Tobias Krause Date: Mon, 17 Jan 2022 11:42:41 +0100 Subject: [PATCH 2/8] leaderboard: added method getTop10Players --- .../java/de/tims/leaderboard/Leaderboard.java | 17 ++++++++++ .../de/tims/leaderboard/LeaderboardTest.java | 31 +++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 src/main/java/de/tims/leaderboard/Leaderboard.java create mode 100644 src/test/java/de/tims/leaderboard/LeaderboardTest.java diff --git a/src/main/java/de/tims/leaderboard/Leaderboard.java b/src/main/java/de/tims/leaderboard/Leaderboard.java new file mode 100644 index 0000000..6f78e09 --- /dev/null +++ b/src/main/java/de/tims/leaderboard/Leaderboard.java @@ -0,0 +1,17 @@ +package de.tims.leaderboard; + +import java.util.List; + +import de.tims.player_management.Player; + +public class Leaderboard { + + public Leaderboard(List allPlayers, String actualPlayer) { + // TODO Auto-generated constructor stub + } + + public Player[] getTop10Players() { + return new Player[] {null, null, null, null, null, null, null, null, null, null}; + } + +} diff --git a/src/test/java/de/tims/leaderboard/LeaderboardTest.java b/src/test/java/de/tims/leaderboard/LeaderboardTest.java new file mode 100644 index 0000000..5e0fabc --- /dev/null +++ b/src/test/java/de/tims/leaderboard/LeaderboardTest.java @@ -0,0 +1,31 @@ +package de.tims.leaderboard; + +import static org.assertj.core.api.Assertions.*; + +import java.util.List; +import java.util.stream.Stream; + +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; + +import de.tims.player_management.Player; + +class LeaderboardTest { + + Leaderboard leaderboard; + + @ParameterizedTest + @MethodSource("testCasesForGetTop10Players") + void getTop10PlayersTest(String testName, List allPlayers, String actualPlayer, Player[] expectedResult) { + leaderboard = new Leaderboard(allPlayers, actualPlayer); + Player[] calculatedResutl = leaderboard.getTop10Players(); + + assertThat(calculatedResutl).describedAs(testName).isEqualTo(expectedResult); + } + + private static Stream testCasesForGetTop10Players() { + return Stream.of(Arguments.of("EmptyListReturnsEmptyArray", List.of(), "TestPlayer", new Player[] {null, null, null, null, null, null, null, null, null, null})); + } + +} From 21b07d077f9740ddde10c1dd7ef2fae72023c669 Mon Sep 17 00:00:00 2001 From: Tobias Krause Date: Mon, 17 Jan 2022 11:52:56 +0100 Subject: [PATCH 3/8] leaderboard: getTop10Players returns elements of sorted list --- src/main/java/de/tims/leaderboard/Leaderboard.java | 12 ++++++++++-- .../java/de/tims/leaderboard/LeaderboardTest.java | 8 +++++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/main/java/de/tims/leaderboard/Leaderboard.java b/src/main/java/de/tims/leaderboard/Leaderboard.java index 6f78e09..98c16d8 100644 --- a/src/main/java/de/tims/leaderboard/Leaderboard.java +++ b/src/main/java/de/tims/leaderboard/Leaderboard.java @@ -6,12 +6,20 @@ import de.tims.player_management.Player; public class Leaderboard { + private List allPlayers; + public Leaderboard(List allPlayers, String actualPlayer) { - // TODO Auto-generated constructor stub + this.allPlayers = allPlayers; } public Player[] getTop10Players() { - return new Player[] {null, null, null, null, null, null, null, null, null, null}; + Player[] top10Players = new Player[10]; + + for (int i = 0; i < allPlayers.size(); i++) { + top10Players[i] = allPlayers.get(i); + } + + return top10Players; } } diff --git a/src/test/java/de/tims/leaderboard/LeaderboardTest.java b/src/test/java/de/tims/leaderboard/LeaderboardTest.java index 5e0fabc..8e2b606 100644 --- a/src/test/java/de/tims/leaderboard/LeaderboardTest.java +++ b/src/test/java/de/tims/leaderboard/LeaderboardTest.java @@ -25,7 +25,13 @@ class LeaderboardTest { } private static Stream testCasesForGetTop10Players() { - return Stream.of(Arguments.of("EmptyListReturnsEmptyArray", List.of(), "TestPlayer", new Player[] {null, null, null, null, null, null, null, null, null, null})); + return Stream.of(Arguments.of("EmptyListReturnsEmptyArray", List.of(), "TestPlayer", new Player[] {null, null, null, null, null, null, null, null, null, null}), + Arguments.of("SortedListWithLessThan10ElementsReturnsListAsArray", + List.of(new Player("Eins", 80), new Player("Zwei", 70), new Player("Drei", 60), new Player("Vier", 50), + new Player("Fuenf", 40), new Player("Sechs", 30), new Player("Sieben", 20), new Player("Acht", 10)), + "TestPlayer", + new Player[] {new Player("Eins", 80), new Player("Zwei", 70), new Player("Drei", 60), new Player("Vier", 50), + new Player("Fuenf", 40), new Player("Sechs", 30), new Player("Sieben", 20), new Player("Acht", 10), null, null})); } } From 1e724d8e80d0de6d7ac6909d63720343d3309fdf Mon Sep 17 00:00:00 2001 From: Tobias Krause Date: Mon, 17 Jan 2022 12:02:31 +0100 Subject: [PATCH 4/8] leaderboard: getTop10Players returns first 10 Elements of sorted list --- src/main/java/de/tims/leaderboard/Leaderboard.java | 6 ++++-- .../java/de/tims/leaderboard/LeaderboardTest.java | 11 ++++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/main/java/de/tims/leaderboard/Leaderboard.java b/src/main/java/de/tims/leaderboard/Leaderboard.java index 98c16d8..fd4d8f7 100644 --- a/src/main/java/de/tims/leaderboard/Leaderboard.java +++ b/src/main/java/de/tims/leaderboard/Leaderboard.java @@ -6,6 +6,8 @@ import de.tims.player_management.Player; public class Leaderboard { + private static final int NUM_PLAYERS_ON_LEADERBOARD = 10; + private List allPlayers; public Leaderboard(List allPlayers, String actualPlayer) { @@ -13,9 +15,9 @@ public class Leaderboard { } public Player[] getTop10Players() { - Player[] top10Players = new Player[10]; + Player[] top10Players = new Player[NUM_PLAYERS_ON_LEADERBOARD]; - for (int i = 0; i < allPlayers.size(); i++) { + for (int i = 0; i < allPlayers.size() && i < NUM_PLAYERS_ON_LEADERBOARD; i++) { top10Players[i] = allPlayers.get(i); } diff --git a/src/test/java/de/tims/leaderboard/LeaderboardTest.java b/src/test/java/de/tims/leaderboard/LeaderboardTest.java index 8e2b606..899fa90 100644 --- a/src/test/java/de/tims/leaderboard/LeaderboardTest.java +++ b/src/test/java/de/tims/leaderboard/LeaderboardTest.java @@ -31,7 +31,16 @@ class LeaderboardTest { new Player("Fuenf", 40), new Player("Sechs", 30), new Player("Sieben", 20), new Player("Acht", 10)), "TestPlayer", new Player[] {new Player("Eins", 80), new Player("Zwei", 70), new Player("Drei", 60), new Player("Vier", 50), - new Player("Fuenf", 40), new Player("Sechs", 30), new Player("Sieben", 20), new Player("Acht", 10), null, null})); + new Player("Fuenf", 40), new Player("Sechs", 30), new Player("Sieben", 20), new Player("Acht", 10), null, null}), + Arguments.of("SortedListWithMoreThan10ElementsReturnsFirst10ElementsAsArray", + List.of(new Player("Eins", 140), new Player("Zwei", 130), new Player("Drei", 120), new Player("Vier", 110), + new Player("Fuenf", 100), new Player("Sechs", 90), new Player("Sieben", 80), new Player("Acht", 70), + new Player("Neun", 60), new Player("Zehn", 50), new Player("Elf", 40), new Player("Zwoelf", 30), + new Player("Dreizehn", 20), new Player("Vierzehn", 10)), + "TestPlayer", + new Player[] {new Player("Eins", 140), new Player("Zwei", 130), new Player("Drei", 120), new Player("Vier", 110), + new Player("Fuenf", 100), new Player("Sechs", 90), new Player("Sieben", 80), new Player("Acht", 70), + new Player("Neun", 60), new Player("Zehn", 50)})); } } From c325e68dbdbf0756d8e1b31b3698778bc5cea1b5 Mon Sep 17 00:00:00 2001 From: Tobias Krause Date: Mon, 17 Jan 2022 12:45:53 +0100 Subject: [PATCH 5/8] leaderboard: getTop10Players returns the 10 players with the most points sorted by points --- .../java/de/tims/leaderboard/Leaderboard.java | 21 +++++++++++++++++-- .../de/tims/leaderboard/LeaderboardTest.java | 17 ++++++++++++++- 2 files changed, 35 insertions(+), 3 deletions(-) diff --git a/src/main/java/de/tims/leaderboard/Leaderboard.java b/src/main/java/de/tims/leaderboard/Leaderboard.java index fd4d8f7..c7fd4c8 100644 --- a/src/main/java/de/tims/leaderboard/Leaderboard.java +++ b/src/main/java/de/tims/leaderboard/Leaderboard.java @@ -17,8 +17,25 @@ public class Leaderboard { public Player[] getTop10Players() { Player[] top10Players = new Player[NUM_PLAYERS_ON_LEADERBOARD]; - for (int i = 0; i < allPlayers.size() && i < NUM_PLAYERS_ON_LEADERBOARD; i++) { - top10Players[i] = allPlayers.get(i); + for (Player actualPlayer : allPlayers) { + for (int i = 0; i < NUM_PLAYERS_ON_LEADERBOARD; i++) { + if (top10Players[i] == null) { + top10Players[i] = actualPlayer; + + break; + } else if (actualPlayer.getPoints() > top10Players[i].getPoints()) { + Player playerToInsert = actualPlayer; + Player tmp; + + for (int j = i; j < NUM_PLAYERS_ON_LEADERBOARD; j++) { + tmp = top10Players[j]; + top10Players[j] = playerToInsert; + playerToInsert = tmp; + } + + break; + } + } } return top10Players; diff --git a/src/test/java/de/tims/leaderboard/LeaderboardTest.java b/src/test/java/de/tims/leaderboard/LeaderboardTest.java index 899fa90..1705457 100644 --- a/src/test/java/de/tims/leaderboard/LeaderboardTest.java +++ b/src/test/java/de/tims/leaderboard/LeaderboardTest.java @@ -40,7 +40,22 @@ class LeaderboardTest { "TestPlayer", new Player[] {new Player("Eins", 140), new Player("Zwei", 130), new Player("Drei", 120), new Player("Vier", 110), new Player("Fuenf", 100), new Player("Sechs", 90), new Player("Sieben", 80), new Player("Acht", 70), - new Player("Neun", 60), new Player("Zehn", 50)})); + new Player("Neun", 60), new Player("Zehn", 50)}), + Arguments.of("UnsortedListWithLessThan10ElementsReturnsElementsSortedByPoints", + List.of(new Player("Eins", 20), new Player("Zwei", 30), new Player("Drei", 10), new Player("Vier", 60), + new Player("Fuenf", 50), new Player("Sechs", 90)), + "TestPlayer", + new Player[] {new Player("Sechs", 90), new Player("Vier", 60), new Player("Fuenf", 50), new Player("Zwei", 30), + new Player("Eins", 20), new Player("Drei", 10), null, null, null, null}), + Arguments.of("UnsortedListWithMoreThan10ElementsReturns10ElementsWithMostPointsSortedByPoints", + List.of(new Player("Eins", 0), new Player("Zwei", 130), new Player("Drei", 20), new Player("Vier", 10), + new Player("Fuenf", 20), new Player("Sechs", 70), new Player("Sieben", 60), new Player("Acht", 20), + new Player("Neun", 60), new Player("Zehn", 50), new Player("Elf", 90), new Player("Zwoelf", 20), + new Player("Dreizehn", 40), new Player("Vierzehn", 80)), + "TestPlayer", + new Player[] {new Player("Zwei", 130), new Player("Elf", 90), new Player("Vierzehn", 80), new Player("Sechs", 70), + new Player("Sieben", 60), new Player("Neun", 60), new Player("Zehn", 50), new Player("Dreizehn", 40), + new Player("Drei", 20), new Player("Fuenf", 20)})); } } From 2cc2b6333dfcb4cb1d45f622dde83269bc45d3de Mon Sep 17 00:00:00 2001 From: Tobias Krause Date: Sat, 22 Jan 2022 13:36:11 +0100 Subject: [PATCH 6/8] leaderboard: added method buildLeaderboard --- .../java/de/tims/leaderboard/Leaderboard.java | 13 ++++++++ .../tims/leaderboard/LeaderboardGUITest.java | 32 +++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 src/main/java/de/tims/leaderboard/LeaderboardGUITest.java diff --git a/src/main/java/de/tims/leaderboard/Leaderboard.java b/src/main/java/de/tims/leaderboard/Leaderboard.java index c7fd4c8..3e0d377 100644 --- a/src/main/java/de/tims/leaderboard/Leaderboard.java +++ b/src/main/java/de/tims/leaderboard/Leaderboard.java @@ -1,6 +1,7 @@ package de.tims.leaderboard; import java.util.List; +import javax.swing.*; import de.tims.player_management.Player; @@ -40,5 +41,17 @@ public class Leaderboard { return top10Players; } + + public JPanel buildLeaderboard() { + JPanel mainPanel = new JPanel(); + + Player[] top10Players = getTop10Players(); + + for (int i = 0; i < top10Players.length; i++) { + mainPanel.add(new JLabel(i + 1 + ". " + top10Players[i].getName() + " " + top10Players[i].getPoints())); + } + + return mainPanel; + } } diff --git a/src/main/java/de/tims/leaderboard/LeaderboardGUITest.java b/src/main/java/de/tims/leaderboard/LeaderboardGUITest.java new file mode 100644 index 0000000..2e25051 --- /dev/null +++ b/src/main/java/de/tims/leaderboard/LeaderboardGUITest.java @@ -0,0 +1,32 @@ +package de.tims.leaderboard; + +import java.util.List; + +import javax.swing.*; + +import de.tims.player_management.Player; + +public class LeaderboardGUITest { + + private JFrame frame; + private JPanel panel; + Leaderboard leaderboard; + + public LeaderboardGUITest() { + frame = new JFrame("LeaderboardGUITest"); + leaderboard = new Leaderboard(List.of(new Player("Eins", 0), new Player("Zwei", 130), new Player("Drei", 20), new Player("Vier", 10), + new Player("Fuenf", 20), new Player("Sechs", 70), new Player("Sieben", 60), new Player("Acht", 20), + new Player("Neun", 60), new Player("Zehn", 50), new Player("Elf", 90), new Player("Zwoelf", 20), + new Player("Dreizehn", 40), new Player("Vierzehn", 80)), "Neun"); + panel = leaderboard.buildLeaderboard(); + + frame.add(panel); + frame.setSize(240, 240); + frame.setVisible(true); + } + + public static void main(String[] args) { + new LeaderboardGUITest(); + } + +} From 981b31dd99ff1a4242b079a8b17558c2a06ff6be Mon Sep 17 00:00:00 2001 From: Tobias Krause Date: Sat, 22 Jan 2022 14:50:29 +0100 Subject: [PATCH 7/8] leaderboard: added gui layout --- .../java/de/tims/leaderboard/Leaderboard.java | 54 ++++++++++++++++++- .../tims/leaderboard/LeaderboardGUITest.java | 2 +- 2 files changed, 54 insertions(+), 2 deletions(-) diff --git a/src/main/java/de/tims/leaderboard/Leaderboard.java b/src/main/java/de/tims/leaderboard/Leaderboard.java index 3e0d377..54fe06a 100644 --- a/src/main/java/de/tims/leaderboard/Leaderboard.java +++ b/src/main/java/de/tims/leaderboard/Leaderboard.java @@ -1,5 +1,8 @@ package de.tims.leaderboard; +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; +import java.awt.Insets; import java.util.List; import javax.swing.*; @@ -44,11 +47,60 @@ public class Leaderboard { public JPanel buildLeaderboard() { JPanel mainPanel = new JPanel(); + mainPanel.setLayout(new GridBagLayout()); + + GridBagConstraints gbc = new GridBagConstraints(); Player[] top10Players = getTop10Players(); + gbc.gridx = 0; + gbc.gridy = 0; + gbc.weightx = 0.5; + gbc.weighty = 0.1; + gbc.anchor = GridBagConstraints.LINE_END; + gbc.insets = new Insets(5, 0, 5, 5); + mainPanel.add(new JLabel("Platzierung"), gbc); + + gbc.gridx = 1; + gbc.gridy = 0; + gbc.weightx = 0.0; + gbc.weighty = 0.1; + gbc.anchor = GridBagConstraints.LINE_START; + gbc.insets = new Insets(5, 5, 5, 10); + mainPanel.add(new JLabel("Name"), gbc); + + gbc.gridx = 2; + gbc.gridy = 0; + gbc.weightx = 0.5; + gbc.weighty = 0.1; + gbc.anchor = GridBagConstraints.LINE_START; + gbc.insets = new Insets(5, 10, 5, 0); + mainPanel.add(new JLabel("Punkte"), gbc); + for (int i = 0; i < top10Players.length; i++) { - mainPanel.add(new JLabel(i + 1 + ". " + top10Players[i].getName() + " " + top10Players[i].getPoints())); + gbc.gridx = 0; + gbc.gridy = i + 1; + gbc.weightx = 0.5; + gbc.weighty = 0.1; + gbc.anchor = GridBagConstraints.LINE_END; + gbc.insets = new Insets(5, 0, 5, 5); + mainPanel.add(new JLabel((i + 1) + "."), gbc); + + gbc.gridx = 1; + gbc.gridy = i + 1; + gbc.weightx = 0.0; + gbc.weighty = 0.1; + gbc.anchor = GridBagConstraints.LINE_START; + gbc.insets = new Insets(5, 5, 5, 10); + mainPanel.add(new JLabel(top10Players[i].getName()), gbc); + + gbc.gridx = 2; + gbc.gridy = i + 1; + gbc.weightx = 0.5; + gbc.weighty = 0.1; + gbc.anchor = GridBagConstraints.LINE_START; + gbc.insets = new Insets(5, 10, 5, 0); + mainPanel.add(new JLabel("" + top10Players[i].getPoints()), gbc); } return mainPanel; diff --git a/src/main/java/de/tims/leaderboard/LeaderboardGUITest.java b/src/main/java/de/tims/leaderboard/LeaderboardGUITest.java index 2e25051..0e8b826 100644 --- a/src/main/java/de/tims/leaderboard/LeaderboardGUITest.java +++ b/src/main/java/de/tims/leaderboard/LeaderboardGUITest.java @@ -21,7 +21,7 @@ public class LeaderboardGUITest { panel = leaderboard.buildLeaderboard(); frame.add(panel); - frame.setSize(240, 240); + frame.setSize(640, 400); frame.setVisible(true); } From e861e03a1587583644dfee79ea0e2eddf3a56676 Mon Sep 17 00:00:00 2001 From: Tobias Krause Date: Sat, 22 Jan 2022 15:44:14 +0100 Subject: [PATCH 8/8] leaderboard: actual player is highlighted --- .../java/de/tims/leaderboard/Leaderboard.java | 61 ++++++++++--------- 1 file changed, 33 insertions(+), 28 deletions(-) diff --git a/src/main/java/de/tims/leaderboard/Leaderboard.java b/src/main/java/de/tims/leaderboard/Leaderboard.java index 54fe06a..8e0af3a 100644 --- a/src/main/java/de/tims/leaderboard/Leaderboard.java +++ b/src/main/java/de/tims/leaderboard/Leaderboard.java @@ -1,5 +1,7 @@ package de.tims.leaderboard; +import java.awt.Color; +import java.awt.Font; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Insets; @@ -13,9 +15,11 @@ public class Leaderboard { private static final int NUM_PLAYERS_ON_LEADERBOARD = 10; private List allPlayers; + String actualPlayer; public Leaderboard(List allPlayers, String actualPlayer) { this.allPlayers = allPlayers; + this.actualPlayer = actualPlayer; } public Player[] getTop10Players() { @@ -51,40 +55,41 @@ public class Leaderboard { GridBagConstraints gbc = new GridBagConstraints(); - Player[] top10Players = getTop10Players(); - - gbc.gridx = 0; - gbc.gridy = 0; - gbc.weightx = 0.5; - gbc.weighty = 0.1; - gbc.anchor = GridBagConstraints.LINE_END; - gbc.insets = new Insets(5, 0, 5, 5); - mainPanel.add(new JLabel("Platzierung"), gbc); - - gbc.gridx = 1; - gbc.gridy = 0; - gbc.weightx = 0.0; - gbc.weighty = 0.1; - gbc.anchor = GridBagConstraints.LINE_START; - gbc.insets = new Insets(5, 5, 5, 10); - mainPanel.add(new JLabel("Name"), gbc); + JLabel place; + JLabel name; + JLabel points; - gbc.gridx = 2; - gbc.gridy = 0; - gbc.weightx = 0.5; - gbc.weighty = 0.1; - gbc.anchor = GridBagConstraints.LINE_START; - gbc.insets = new Insets(5, 10, 5, 0); - mainPanel.add(new JLabel("Punkte"), gbc); + Player[] top10Players = getTop10Players(); - for (int i = 0; i < top10Players.length; i++) { + for (int i = -1; i < top10Players.length; i++) { + if (i < 0) { + place = new JLabel("Platzierung"); + name = new JLabel("Name"); + points = new JLabel("Punkte"); + } else { + place = new JLabel((i + 1) + "."); + name = new JLabel(top10Players[i].getName()); + points = new JLabel("" + top10Players[i].getPoints()); + + if (top10Players[i].getName().equals(actualPlayer)) { + Font actualPlayerFont = new Font(Font.DIALOG, Font.PLAIN, 20); + + place.setForeground(Color.RED); + place.setFont(actualPlayerFont); + name.setForeground(Color.RED); + name.setFont(actualPlayerFont); + points.setForeground(Color.RED); + points.setFont(actualPlayerFont); + } + } + gbc.gridx = 0; gbc.gridy = i + 1; gbc.weightx = 0.5; gbc.weighty = 0.1; gbc.anchor = GridBagConstraints.LINE_END; gbc.insets = new Insets(5, 0, 5, 5); - mainPanel.add(new JLabel((i + 1) + "."), gbc); + mainPanel.add(place, gbc); gbc.gridx = 1; gbc.gridy = i + 1; @@ -92,7 +97,7 @@ public class Leaderboard { gbc.weighty = 0.1; gbc.anchor = GridBagConstraints.LINE_START; gbc.insets = new Insets(5, 5, 5, 10); - mainPanel.add(new JLabel(top10Players[i].getName()), gbc); + mainPanel.add(name, gbc); gbc.gridx = 2; gbc.gridy = i + 1; @@ -100,7 +105,7 @@ public class Leaderboard { gbc.weighty = 0.1; gbc.anchor = GridBagConstraints.LINE_START; gbc.insets = new Insets(5, 10, 5, 0); - mainPanel.add(new JLabel("" + top10Players[i].getPoints()), gbc); + mainPanel.add(points, gbc); } return mainPanel;