feat: uggly leaderboard
All checks were successful
Linux arm64 / Build (push) Successful in 27s

This commit is contained in:
2025-01-31 13:48:51 +01:00
parent 25c2270a37
commit a160042ef4
12 changed files with 61 additions and 14 deletions

View File

@@ -1,6 +1,7 @@
package gui.menu;
import gui.SudokuRenderer;
import gui.widget.LeaderboardRenderer;
import gui.widget.SudokuRenderer;
import imgui.ImGui;
import network.client.Client;
import network.server.Server;
@@ -11,12 +12,14 @@ public class MultiPlayerDokuView extends BaseView{
private final Client client;
private final Server server;
private final SudokuRenderer sudokuRenderer;
private final LeaderboardRenderer leaderboardRenderer;
public MultiPlayerDokuView(StateMachine stateMachine, Client client, Server server) {
super(stateMachine);
this.client = client;
this.server = server;
this.sudokuRenderer = new SudokuRenderer(this.client.getGame().getDoku());
this.leaderboardRenderer = new LeaderboardRenderer(client.getGame(), client.getPlayer());
this.sudokuRenderer.onCellChange.connect(this::onCellChange);
this.client.onDisconnect.connect(this::onDisconnect);
}
@@ -33,6 +36,7 @@ public class MultiPlayerDokuView extends BaseView{
@Override
public void render() {
this.leaderboardRenderer.render();
this.sudokuRenderer.render();
if (ImGui.button("Quitter")) {
this.client.stop();

View File

@@ -1,7 +1,7 @@
package gui.menu;
import game.Player;
import gui.SudokuSelector;
import gui.widget.SudokuSelector;
import imgui.ImGui;
import network.client.Client;
import network.server.Server;

View File

@@ -1,6 +1,6 @@
package gui.menu;
import gui.SudokuSelector;
import gui.widget.SudokuSelector;
import imgui.ImGui;
import sudoku.structure.MultiDoku;

View File

@@ -2,7 +2,7 @@ package gui.menu;
import java.util.concurrent.CancellationException;
import gui.SudokuRenderer;
import gui.widget.SudokuRenderer;
import imgui.ImGui;
import imgui.ImGuiStyle;
import sudoku.io.SudokuSerializer;

View File

@@ -0,0 +1,25 @@
package gui.widget;
import game.Game;
import game.Player;
import imgui.ImGui;
public class LeaderboardRenderer {
private final Game game;
private final Player currentPlayer;
public LeaderboardRenderer(Game game, Player player) {
this.game = game;
this.currentPlayer = player;
}
public void render() {
ImGui.text("Leaderboard");
for (var entry : game.getPlayers().entrySet()) {
Player player = entry.getValue();
ImGui.text(player.getPseudo() + " : " + player.getScore());
}
}
}

View File

@@ -1,4 +1,4 @@
package gui;
package gui.widget;
import java.util.HashMap;
import java.util.HashSet;
@@ -8,6 +8,11 @@ import java.util.Set;
import common.ConsumerSignal;
import common.Signal;
import gui.ColorGenerator;
import gui.Fonts;
import gui.Options;
import gui.RenderableMultidoku;
import gui.Symbols;
import gui.ColorGenerator.Color;
import imgui.ImGui;
import imgui.ImVec2;

View File

@@ -1,9 +1,10 @@
package gui;
package gui.widget;
import java.util.ArrayList;
import java.util.List;
import common.ConsumerSignal;
import gui.SudokuType;
import imgui.ImGui;
import imgui.extension.imguifiledialog.ImGuiFileDialog;
import imgui.extension.imguifiledialog.flag.ImGuiFileDialogFlags;