add files
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.PriorityQueue;
|
||||
|
||||
class Leaderboard {
|
||||
private Map<User, Integer> scores = new HashMap<>();
|
||||
private PriorityQueue<User> displayList = new PriorityQueue<>(
|
||||
(u1, u2) -> u2.getScore() - u1.getScore());
|
||||
|
||||
public void addUser(User a) {
|
||||
scores.put(a, a.getScore());
|
||||
|
||||
}
|
||||
|
||||
static Leaderboard obj = new Leaderboard();
|
||||
|
||||
private Leaderboard() {
|
||||
}
|
||||
|
||||
public static Leaderboard getObject() {
|
||||
return obj;
|
||||
}
|
||||
|
||||
public void updateScore(User user, int points) {
|
||||
int p = user.getScore();
|
||||
p += points;
|
||||
user.setScore(p);
|
||||
scores.put(user, p);
|
||||
}
|
||||
|
||||
public void display() {
|
||||
displayList.clear();
|
||||
System.out.println();
|
||||
System.out.println("Leaderboard");
|
||||
System.out.println("--------------------------------");
|
||||
for (User u : scores.keySet()) {
|
||||
displayList.add(u);
|
||||
}
|
||||
while (!displayList.isEmpty()) {
|
||||
User u = displayList.poll();
|
||||
System.out.println(u.getUsername() + " --- " + scores.get(u));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user