This commit is contained in:
ramollia
2025-09-24 15:52:58 +02:00
parent 9fdd74326a
commit da777f5300
38 changed files with 35 additions and 37 deletions

View File

@@ -6,7 +6,7 @@
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
<properties> <properties>
<main-class>org.toop.Main</main-class> <main-class>org.toop.app.Main</main-class>
</properties> </properties>
<build> <build>

View File

@@ -4,8 +4,8 @@ import java.awt.*;
import javax.swing.*; import javax.swing.*;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.toop.app.tictactoe.LocalTicTacToe; import org.toop.tictactoe.LocalTicTacToe;
import org.toop.app.tictactoe.gui.UIGameBoard; import org.toop.tictactoe.gui.UIGameBoard;
public class LocalGameSelector extends JFrame { public class LocalGameSelector extends JFrame {
private static final Logger logger = LogManager.getLogger(LocalGameSelector.class); private static final Logger logger = LogManager.getLogger(LocalGameSelector.class);

View File

@@ -10,9 +10,9 @@ import org.apache.logging.log4j.Logger;
import org.toop.framework.eventbus.events.Events; import org.toop.framework.eventbus.events.Events;
import org.toop.framework.eventbus.GlobalEventBus; import org.toop.framework.eventbus.GlobalEventBus;
import org.toop.framework.eventbus.events.NetworkEvents; import org.toop.framework.eventbus.events.NetworkEvents;
import org.toop.app.tictactoe.LocalTicTacToe; import org.toop.tictactoe.LocalTicTacToe;
import org.toop.framework.networking.NetworkingGameClientHandler; import org.toop.framework.networking.NetworkingGameClientHandler;
import org.toop.app.tictactoe.gui.UIGameBoard; import org.toop.tictactoe.gui.UIGameBoard;
public class RemoteGameSelector { public class RemoteGameSelector {
private static final Logger logger = LogManager.getLogger(RemoteGameSelector.class); private static final Logger logger = LogManager.getLogger(RemoteGameSelector.class);

View File

@@ -1,17 +1,16 @@
package org.toop.app.tictactoe; package org.toop.tictactoe;
import java.util.concurrent.*; import java.util.concurrent.*;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.toop.eventbus.EventPublisher; import org.toop.framework.eventbus.EventPublisher;
import org.toop.framework.eventbus.events.Events; import org.toop.framework.eventbus.events.Events;
import org.toop.framework.eventbus.events.NetworkEvents; import org.toop.framework.eventbus.events.NetworkEvents;
import org.toop.app.tictactoe.gui.UIGameBoard; import org.toop.tictactoe.gui.UIGameBoard;
import org.toop.framework.networking.NetworkingGameClientHandler; import org.toop.framework.networking.NetworkingGameClientHandler;
import org.toop.games.GameBase; import org.toop.game.GameBase;
import org.toop.game.tictactoe.ai.MinMaxTicTacToe; import org.toop.game.tictactoe.ai.MinMaxTicTacToe;
import org.toop.games.tictactoe.TicTacToe;
import java.util.function.Supplier; import java.util.function.Supplier;

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="org.toop.app.tictactoe.gui.UIGameBoard"> <form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="org.toop.tictactoe.gui.UIGameBoard">
<grid id="27dc6" binding="tttPanel" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1"> <grid id="27dc6" binding="tttPanel" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="10" left="10" bottom="10" right="10"/> <margin top="10" left="10" bottom="10" right="10"/>
<constraints> <constraints>

View File

@@ -1,4 +1,4 @@
package org.toop.app.tictactoe.gui; package org.toop.tictactoe.gui;
import java.awt.*; import java.awt.*;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
@@ -7,8 +7,8 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.toop.app.gui.LocalGameSelector; import org.toop.app.gui.LocalGameSelector;
import org.toop.app.gui.RemoteGameSelector; import org.toop.app.gui.RemoteGameSelector;
import org.toop.app.tictactoe.LocalTicTacToe; import org.toop.tictactoe.LocalTicTacToe;
import org.toop.games.GameBase; import org.toop.game.GameBase;
public class UIGameBoard { public class UIGameBoard {
private static final int TICTACTOE_SIZE = 3; private static final int TICTACTOE_SIZE = 3;

View File

@@ -16,7 +16,7 @@ public class Events implements IEvent {
* @throws Exception * @throws Exception
*/ */
public static Object get(String eventName, Object... args) throws Exception { public static Object get(String eventName, Object... args) throws Exception {
Class<?> clazz = Class.forName("org.toop.eventbus.events.Events$ServerEvents$" + eventName); Class<?> clazz = Class.forName("org.toop.framework.eventbus.events.Events$ServerEvents$" + eventName);
Class<?>[] paramTypes = Arrays.stream(args).map(Object::getClass).toArray(Class<?>[]::new); Class<?>[] paramTypes = Arrays.stream(args).map(Object::getClass).toArray(Class<?>[]::new);
Constructor<?> constructor = clazz.getConstructor(paramTypes); Constructor<?> constructor = clazz.getConstructor(paramTypes);
return constructor.newInstance(args); return constructor.newInstance(args);
@@ -34,7 +34,7 @@ public class Events implements IEvent {
public static Object get(String eventCategory, String eventName, Object... args) public static Object get(String eventCategory, String eventName, Object... args)
throws Exception { throws Exception {
Class<?> clazz = Class<?> clazz =
Class.forName("org.toop.eventbus.events.Events$" + eventCategory + "$" + eventName); Class.forName("org.toop.framework.eventbus.events.Events$" + eventCategory + "$" + eventName);
Class<?>[] paramTypes = Arrays.stream(args).map(Object::getClass).toArray(Class<?>[]::new); Class<?>[] paramTypes = Arrays.stream(args).map(Object::getClass).toArray(Class<?>[]::new);
Constructor<?> constructor = clazz.getConstructor(paramTypes); Constructor<?> constructor = clazz.getConstructor(paramTypes);
return constructor.newInstance(args); return constructor.newInstance(args);

View File

@@ -50,7 +50,7 @@ public class NetworkEvents extends Events {
* @param ip The IP address of the server to connect to. * @param ip The IP address of the server to connect to.
* @param port The port number of the server to connect to. * @param port The port number of the server to connect to.
* @param eventId A unique identifier for this event, typically injected * @param eventId A unique identifier for this event, typically injected
* automatically by the {@link org.toop.eventbus.EventPublisher}. * automatically by the {@link org.toop.framework.eventbus.EventPublisher}.
*/ */
public record StartClient( public record StartClient(
Supplier<? extends NetworkingGameClientHandler> handlerFactory, Supplier<? extends NetworkingGameClientHandler> handlerFactory,

View File

@@ -6,7 +6,7 @@ import java.util.function.Supplier;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.toop.eventbus.EventPublisher; import org.toop.framework.eventbus.EventPublisher;
import org.toop.framework.eventbus.events.NetworkEvents; import org.toop.framework.eventbus.events.NetworkEvents;
public class NetworkingClientManager { public class NetworkingClientManager {

View File

@@ -1,7 +1,6 @@
package org.toop.eventbus; package org.toop.framework.eventbus;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.toop.framework.eventbus.GlobalEventBus;
import org.toop.framework.eventbus.events.EventWithUuid; import org.toop.framework.eventbus.events.EventWithUuid;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;

View File

@@ -1,4 +1,4 @@
package org.toop.eventbus; package org.toop.framework.eventbus;
import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;

View File

@@ -1,4 +1,4 @@
package org.toop.eventbus; package org.toop.framework.eventbus;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.toop.framework.eventbus.events.EventWithUuid; import org.toop.framework.eventbus.events.EventWithUuid;

View File

@@ -1,9 +1,9 @@
//package org.toop.eventbus; //package org.toop.framework.eventbus;
// //
//import net.engio.mbassy.bus.publication.SyncAsyncPostCommand; //import net.engio.mbassy.bus.publication.SyncAsyncPostCommand;
//import org.junit.jupiter.api.AfterEach; //import org.junit.jupiter.api.AfterEach;
//import org.junit.jupiter.api.Test; //import org.junit.jupiter.api.Test;
//import org.toop.eventbus.events.IEvent; //import org.toop.framework.eventbus.events.IEvent;
// //
//import java.util.concurrent.atomic.AtomicBoolean; //import java.util.concurrent.atomic.AtomicBoolean;
//import java.util.concurrent.atomic.AtomicReference; //import java.util.concurrent.atomic.AtomicReference;

View File

@@ -1,4 +1,4 @@
package org.toop.games; package org.toop.game;
// Todo: refactor // Todo: refactor
public abstract class GameBase { public abstract class GameBase {

View File

@@ -1,4 +1,4 @@
package org.toop.games; package org.toop.game;
// Todo: refactor // Todo: refactor
public class Player { public class Player {

View File

@@ -1,11 +1,11 @@
package org.toop.games.tictactoe; package org.toop.tictactoe;
import java.util.concurrent.BlockingQueue; import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.LinkedBlockingQueue;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.toop.games.GameBase; import org.toop.game.GameBase;
import org.toop.games.Player; import org.toop.game.Player;
import org.toop.backend.tictactoe.ParsedCommand; import org.toop.backend.tictactoe.ParsedCommand;
import org.toop.backend.tictactoe.TicTacToeServerCommand; import org.toop.backend.tictactoe.TicTacToeServerCommand;

View File

@@ -1,6 +1,6 @@
package org.toop.games.tictactoe; package org.toop.tictactoe;
import org.toop.games.GameBase; import org.toop.game.GameBase;
// Todo: refactor // Todo: refactor
public class TicTacToeAI { public class TicTacToeAI {

View File

@@ -2,8 +2,8 @@ package org.toop.game.tictactoe;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.toop.games.GameBase; import org.toop.game.GameBase;
import org.toop.games.Player; import org.toop.game.Player;
class GameBaseTest { class GameBaseTest {

View File

@@ -2,7 +2,7 @@ package org.toop.game.tictactoe;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.toop.games.Player; import org.toop.game.Player;
class PlayerTest { class PlayerTest {

View File

@@ -5,8 +5,8 @@ import static org.junit.jupiter.api.Assertions.*;
import java.util.Set; import java.util.Set;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.toop.games.GameBase; import org.toop.game.GameBase;
import org.toop.games.tictactoe.TicTacToe; import org.toop.tictactoe.TicTacToe;
/** Unit tests for MinMaxTicTacToe AI. */ /** Unit tests for MinMaxTicTacToe AI. */
public class MinMaxTicTacToeTest { public class MinMaxTicTacToeTest {

View File

@@ -98,7 +98,7 @@
<modules> <modules>
<module>framework</module> <module>framework</module>
<module>games</module> <module>game</module>
<module>app</module> <module>app</module>
</modules> </modules>
</project> </project>