diff --git a/src/de/itsblue/ConnectFour/ConnectFour.java b/src/de/itsblue/ConnectFour/ConnectFour.java index 9f65b1f..e4364a5 100644 --- a/src/de/itsblue/ConnectFour/ConnectFour.java +++ b/src/de/itsblue/ConnectFour/ConnectFour.java @@ -48,6 +48,8 @@ public class ConnectFour extends JFrame implements ActionListener { private Player players[] = new Player[2]; private GameType gameType; + + String serverIp; enum GameType { Local, RemoteServer, RemoteClient @@ -133,13 +135,13 @@ public class ConnectFour extends JFrame implements ActionListener { this.players[0] = new LocalPlayer(this.buttonRow, null); try { - this.players[1] = new RemotePlayerClient(this.buttonRow, "localhost", this.players[0]); + this.players[1] = new RemotePlayerClient(this.buttonRow, this.serverIp, this.players[0]); } catch (IOException e) { e.printStackTrace(); } // do not add the listener of the local player here, as the client player will - // handle its moves in order to make shure they are legal + // handle its moves in order to make sure they are legal this.players[1].addActionListener(this); break; @@ -246,6 +248,7 @@ public class ConnectFour extends JFrame implements ActionListener { if (!res) { // beep in case of error Toolkit.getDefaultToolkit().beep(); + return; } if (this.gameType != GameType.RemoteClient && this.gameState.equals(GameState.Running)) @@ -349,8 +352,10 @@ public class ConnectFour extends JFrame implements ActionListener { game.startNewGame(GameType.Local); else if (args[0].equals("server")) game.startNewGame(GameType.RemoteServer); - else if (args[0].equals("client")) + else if (args[0].equals("client")) { + game.serverIp = args[1]; game.startNewGame(GameType.RemoteClient); + } else System.out.println("Usage: java ConnectFour.java [server|client]"); } diff --git a/src/de/itsblue/ConnectFour/Plate.java b/src/de/itsblue/ConnectFour/Plate.java index 618a915..f8d7eaa 100644 --- a/src/de/itsblue/ConnectFour/Plate.java +++ b/src/de/itsblue/ConnectFour/Plate.java @@ -70,6 +70,33 @@ public class Plate { return Plate.getValue(this.type); } + /** + * Function to get the type of the plate as string + * + * @return "yellow" or "red" + */ + public String getName() { + return Plate.getName(this.type); + } + + /** + * Function to get the type of the plate as string + * + * @param type plate type + * + * @return "yellow" or "red" + */ + public static String getName(PlateType type) { + switch (type) { + case O: + return "yellow"; + case X: + return "red"; + default: + return ""; + } + } + /** * Function to get a PlateType as int * @@ -105,10 +132,10 @@ public class Plate { float[] hsb = new float[3]; switch (type) { case O: - Color.RGBtoHSB(249, 227, 6, hsb); - break; + Color.RGBtoHSB(249, 227, 6, hsb); + break; case X: - Color.RGBtoHSB(246, 33, 61, hsb); + Color.RGBtoHSB(246, 33, 61, hsb); break; } diff --git a/src/de/itsblue/ConnectFour/player/Player.java b/src/de/itsblue/ConnectFour/player/Player.java index 84bf4e0..4336a4b 100644 --- a/src/de/itsblue/ConnectFour/player/Player.java +++ b/src/de/itsblue/ConnectFour/player/Player.java @@ -108,8 +108,7 @@ public abstract class Player { * @return player name */ public String getName() { - Color thisColor = Plate.getColor(this.usingPlateType); - return thisColor.equals(Color.BLACK) ? "Black":"Red"; + return Plate.getName(this.usingPlateType); } /**