basic multiplayer
Some checks failed
Linux arm64 / Build (push) Failing after 5m3s

This commit is contained in:
2025-01-26 18:53:45 +01:00
parent 6658b0e884
commit df07f11a9c
11 changed files with 149 additions and 20 deletions

View File

@@ -8,6 +8,9 @@ import java.util.List;
import game.Game;
import game.Player;
import network.protocol.Packet;
import network.protocol.packets.StartGamePacket;
import sudoku.MultiDoku;
import sudoku.io.SudokuSerializer;
public class Server {
@@ -65,4 +68,9 @@ public class Server {
return game;
}
public void startGame(MultiDoku doku) {
this.game.startGame(doku);
broadcastPacket(new StartGamePacket(SudokuSerializer.serializeSudoku(doku)));
}
}

View File

@@ -4,6 +4,7 @@ import java.io.IOException;
import java.net.Socket;
import game.Player;
import game.Game.GameState;
import network.Connexion;
import network.protocol.packets.ConnexionInfoPacket;
import network.protocol.packets.DisconnectPacket;
@@ -11,6 +12,8 @@ import network.protocol.packets.KeepAlivePacket;
import network.protocol.packets.LoginPacket;
import network.protocol.packets.PlayerJoinPacket;
import network.protocol.packets.PlayerLeavePacket;
import network.protocol.packets.StartGamePacket;
import sudoku.io.SudokuSerializer;
public class ServerConnexion extends Connexion {
@@ -56,6 +59,9 @@ public class ServerConnexion extends Connexion {
}
this.server.broadcastPacket(new PlayerJoinPacket(player));
sendPacket(new ConnexionInfoPacket(player.getId()));
if (this.server.getGame().getGameState() == GameState.GameGoing) {
sendPacket(new StartGamePacket(SudokuSerializer.serializeSudoku(this.server.getGame().getDoku())));
}
}
@Override
@@ -91,4 +97,9 @@ public class ServerConnexion extends Connexion {
throw new UnsupportedOperationException("Unimplemented method 'visitPacketPlayerLeave'");
}
@Override
public void visitPacket(StartGamePacket packet) {
throw new UnsupportedOperationException("Unimplemented method 'visitPacketStartGame'");
}
}