diff --git a/Client/src/TicTacToe_Client.java b/Client/src/TicTacToe_Client.java index 20930ec..e083e95 100644 --- a/Client/src/TicTacToe_Client.java +++ b/Client/src/TicTacToe_Client.java @@ -63,8 +63,8 @@ public class TicTacToe_Client { break; case "userInput": - client.sendToServer("test"); client.printLog("Waiting for userInput", true, LogType.Log); + renderEngine.setMoveAllowed(true); while (!renderEngine.isMouseClicked()) { try { Thread.sleep(100); @@ -73,6 +73,7 @@ public class TicTacToe_Client { } } renderEngine.setMouseClicked(false); + renderEngine.setMoveAllowed(false); isAllowedToMove = false; this.userInput(); break; diff --git a/Client/src/networking/Client.java b/Client/src/networking/Client.java index b9234e1..fb687a3 100644 --- a/Client/src/networking/Client.java +++ b/Client/src/networking/Client.java @@ -89,6 +89,15 @@ public class Client { } } + public boolean hasMessage(){ + try { + return in.available() < 0; + } catch (IOException e) { + e.printStackTrace(); + } + return false; + } + public String getResponse() { try { String message = in.readUTF(); diff --git a/Client/src/render/Engine.java b/Client/src/render/Engine.java index 09a5910..ac27a7f 100644 --- a/Client/src/render/Engine.java +++ b/Client/src/render/Engine.java @@ -22,6 +22,7 @@ public class Engine extends Application { private static Engine engine = null; private boolean mouseClicked = false; private boolean windowClosed = false; + private boolean moveAllowed = false; private Point coordinates = new Point(); private Stage primaryStage; @@ -37,7 +38,20 @@ public class Engine extends Application { grid.setVgap(75); } - private Scene setScene() { + private Scene setStartingScene(){ + scene = new Scene(grid, 900, 900); + grid.add(new javafx.scene.control.Label("Your Username"), 0, 0); + grid.add(new javafx.scene.control.TextField(), 1,0); + scene.setOnMousePressed(new EventHandler() { + @Override + public void handle(MouseEvent mouseEvent) { + + } + }); + return scene; + } + + private Scene setPlayingScene() { scene = new Scene(grid, 900, 900); scene.getStylesheets().add("res/TicTacToe_Client.css"); scene.setOnMousePressed(new EventHandler() { @@ -104,8 +118,10 @@ public class Engine extends Application { } private void onMouseClick(MouseEvent event) { - mouseClicked = true; - coordinates.setLocation(event.getX(), event.getY()); + if (moveAllowed) { + mouseClicked = true; + coordinates.setLocation(event.getX(), event.getY()); + } } public boolean isWindowClosed() {return windowClosed;} @@ -122,6 +138,10 @@ public class Engine extends Application { return coordinates; } + public void setMoveAllowed(boolean isMoveAllowed){ + moveAllowed = isMoveAllowed; + } + @Override public void start(Stage primaryStage) throws Exception { //initialize window @@ -129,7 +149,7 @@ public class Engine extends Application { primaryStage.setTitle("Test"); primaryStage.setResizable(true); this.initializeGrid(); - primaryStage.setScene(this.setScene()); + primaryStage.setScene(this.setPlayingScene()); primaryStage.sizeToScene(); primaryStage.show(); diff --git a/Server/res/META-INF/MANIFEST.MF b/Server/res/META-INF/MANIFEST.MF index 1da9783..d06cd0f 100644 --- a/Server/res/META-INF/MANIFEST.MF +++ b/Server/res/META-INF/MANIFEST.MF @@ -1,3 +1,3 @@ Manifest-Version: 1.0 -Main-Class: networking.TicTacToe_Server +Main-Class: TicTacToe_Server diff --git a/Server/src/networking/TicTacToe_Server.java b/Server/src/TicTacToe_Server.java similarity index 96% rename from Server/src/networking/TicTacToe_Server.java rename to Server/src/TicTacToe_Server.java index b803f9e..ca5f6aa 100644 --- a/Server/src/networking/TicTacToe_Server.java +++ b/Server/src/TicTacToe_Server.java @@ -1,5 +1,3 @@ -package networking; - import logging.LogType; import logging.ServerLogger; import res.TicTacToe_GameRules; @@ -157,9 +155,16 @@ public class TicTacToe_Server { } while (clients.size() == requiredConnections) { for (Socket client : clients.values()) { - gameFlow(handleInput(client), client); + try { + if (instreams.get(client).available() > 0){ + gameFlow(handleInput(client), client); + } + } catch (IOException e) { + e.printStackTrace(); + } } } + System.out.println("Ended"); } public void gameFlow(String input, Socket client) { diff --git a/out/production/ArcadeMachine/META-INF/MANIFEST.MF b/out/production/ArcadeMachine/META-INF/MANIFEST.MF deleted file mode 100644 index 01f4484..0000000 --- a/out/production/ArcadeMachine/META-INF/MANIFEST.MF +++ /dev/null @@ -1,6 +0,0 @@ -Manifest-Version: 1.0 -Main-Class: Launcher -Class-Path: src.zip javafx-swt.jar javafx.web.jar javafx.base.jar javafx - .fxml.jar javafx.media.jar javafx.swing.jar javafx.controls.jar javafx. - graphics.jar - diff --git a/out/production/Client/res/TicTacToe_Client_UML.png b/out/production/Client/res/TicTacToe_Client_UML.png new file mode 100644 index 0000000..47f65a9 Binary files /dev/null and b/out/production/Client/res/TicTacToe_Client_UML.png differ diff --git a/out/production/Server/META-INF/MANIFEST.MF b/out/production/Server/META-INF/MANIFEST.MF index 1da9783..d06cd0f 100644 --- a/out/production/Server/META-INF/MANIFEST.MF +++ b/out/production/Server/META-INF/MANIFEST.MF @@ -1,3 +1,3 @@ Manifest-Version: 1.0 -Main-Class: networking.TicTacToe_Server +Main-Class: TicTacToe_Server diff --git a/out/production/Server/TicTacToe_Server_UML.png b/out/production/Server/TicTacToe_Server_UML.png new file mode 100644 index 0000000..1cdf991 Binary files /dev/null and b/out/production/Server/TicTacToe_Server_UML.png differ