diff --git a/src/OnlinePlayer.java b/src/OnlinePlayer.java index 015e9be..90dc5cd 100644 --- a/src/OnlinePlayer.java +++ b/src/OnlinePlayer.java @@ -1,8 +1,10 @@ public abstract class OnlinePlayer extends Player implements AsyncSocketListener{ protected AsyncSocket socket; + protected int wantedBoardSize; public OnlinePlayer(int size, AsyncSocket socket) { this.socket = socket; + this.wantedBoardSize = size; socket.setHandler(this); //TODO Auto-generated constructor stub } diff --git a/src/OnlinePlayer_1_1_0.java b/src/OnlinePlayer_1_1_0.java index d14e197..6146796 100644 --- a/src/OnlinePlayer_1_1_0.java +++ b/src/OnlinePlayer_1_1_0.java @@ -11,8 +11,28 @@ public class OnlinePlayer_1_1_0 extends OnlinePlayer { public void receive(String message) { SocketPackage p = new SocketPackage(message); - // TODO: parse package + List data = p.splitData(); switch (p.getName()) { + case "IAM": + if (data.size() < 2) break; + if (this.board != null) break; + + int semester = Integer.parseInt(data.get(0)); + String username = p.getData().substring(data.get(0).length() + 1); + + int usedBoardSize = Math.min(GameController.semesterToBoardSize(semester), this.wantedBoardSize); + + this.setName(username); + this.createBoard(usedBoardSize); + this.enemy.createBoard(usedBoardSize); + + break; + + // TODO: IAMU + + // TODO: COIN + + case "SHOOT": if (Point.isValidSyntax(p.getData())){ Point point = new Point(p.getData()); @@ -21,7 +41,6 @@ public class OnlinePlayer_1_1_0 extends OnlinePlayer { break; case "HIT": - List data = p.splitData(); if (data.size()==2){ Point point = new Point(data.get(0)); int typeIndex = Integer.parseInt(data.get(1));