Code cleanup

This commit is contained in:
lieght
2025-12-12 16:04:12 +01:00
parent 4b8edf1585
commit c30c118c04
12 changed files with 43 additions and 34 deletions

View File

@@ -1,9 +1,10 @@
package org.toop.game.games.reversi;
package org.toop.framework.game.games.reversi;
import org.toop.framework.game.BitboardGame;
import org.toop.framework.gameFramework.GameState;
import org.toop.framework.gameFramework.model.game.PlayResult;
import org.toop.framework.gameFramework.model.player.Player;
import org.toop.game.BitboardGame;
import org.toop.framework.game.BitboardGame;
public class BitboardReversi extends BitboardGame {

View File

@@ -1,9 +1,9 @@
package org.toop.game.games.tictactoe;
package org.toop.framework.game.games.tictactoe;
import org.toop.framework.gameFramework.GameState;
import org.toop.framework.gameFramework.model.game.PlayResult;
import org.toop.framework.gameFramework.model.player.Player;
import org.toop.game.BitboardGame;
import org.toop.framework.game.BitboardGame;
public class BitboardTicTacToe extends BitboardGame {
private final long[] winningLines = {

View File

@@ -1,14 +1,14 @@
package org.toop.framework.networking.server;
import org.toop.framework.game.BitboardGame;
import org.toop.framework.gameFramework.model.game.TurnBasedGame;
public class Game implements OnlineGame {
public class Game implements OnlineGame<TurnBasedGame> {
private long id;
private User[] users;
private GameDefinition<BitboardGame<?>> game;
private TurnBasedGame game;
public Game(GameDefinition game, User... users) {
public Game(TurnBasedGame game, User... users) {
this.game = game;
this.users = users;
}
@@ -19,7 +19,7 @@ public class Game implements OnlineGame {
}
@Override
public GameDefinition game() {
public TurnBasedGame game() {
return game;
}

View File

@@ -1,5 +1,7 @@
package org.toop.framework.networking.server;
import org.toop.framework.gameFramework.model.game.TurnBasedGame;
import java.lang.reflect.InvocationTargetException;
public class GameDefinition<T> {

View File

@@ -13,6 +13,7 @@ import io.netty.handler.logging.LogLevel;
import io.netty.handler.logging.LoggingHandler;
import org.toop.framework.SnowflakeGenerator;
import org.toop.framework.game.BitboardGame;
import org.toop.framework.gameFramework.model.game.TurnBasedGame;
import java.util.Map;
@@ -20,7 +21,7 @@ public class MasterServer {
private final int port;
public final Server gs;
public MasterServer(int port, Map<String, GameDefinition<BitboardGame<?>>> gameTypes) {
public MasterServer(int port, Map<String, Class<? extends TurnBasedGame>> gameTypes) {
this.port = port;
this.gs = new Server(gameTypes);
}

View File

@@ -1,7 +1,7 @@
package org.toop.framework.networking.server;
public interface OnlineGame {
public interface OnlineGame<T> {
long id();
GameDefinition game();
T game();
User[] users();
}

View File

@@ -1,6 +1,7 @@
package org.toop.framework.networking.server;
import org.toop.framework.game.BitboardGame;
import org.toop.framework.gameFramework.model.game.TurnBasedGame;
import java.util.ArrayList;
import java.util.List;
@@ -9,11 +10,11 @@ import java.util.concurrent.ConcurrentHashMap;
public class Server implements GameServer {
final private Map<String, GameDefinition<BitboardGame<?>>> gameTypes;
public List<OnlineGame> games = new ArrayList<>();
final private Map<String, Class<? extends TurnBasedGame>> gameTypes;
public List<OnlineGame<TurnBasedGame>> games = new ArrayList<>();
final private Map<Long, ServerUser> users = new ConcurrentHashMap<>();
public Server(Map<String, GameDefinition<BitboardGame<?>>> gameTypes) {
public Server(Map<String, Class<? extends TurnBasedGame>> gameTypes) {
this.gameTypes = gameTypes;
}
@@ -37,8 +38,8 @@ public class Server implements GameServer {
if (!gameTypes.containsKey(gameType)) return;
try {
var game = new Game(gameTypes.get(gameType).create(), users);
games.addLast(new Game(game, users));
var game = new Game(gameTypes.get(gameType).getDeclaredConstructor().newInstance(), users);
games.addLast(game);
} catch (Exception e) {
throw new RuntimeException(e);
}

View File

@@ -0,0 +1,11 @@
package org.toop.framework.networking.server;
import org.junit.jupiter.api.BeforeEach;
public class ServerTest {
@BeforeEach
public void setup() {
new Server();
}
}