Skip to content

Commit cb08b86

Browse files
committed
Merge commit '0ee1d48df869d95deed48db223d98a9795c635bc'
2 parents 5cb0916 + 0ee1d48 commit cb08b86

File tree

5 files changed

+33
-15
lines changed

5 files changed

+33
-15
lines changed

src/com/redomar/game/Game.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,8 @@ public void init() {
8989
setPlayer(new PlayerMP(getLevel(), 100, 100, input,
9090
JOptionPane.showInputDialog(this, "Enter a name"), null, -1));
9191

92-
getLevel().addEntity(getPlayer());
93-
Packet00Login loginPacket = new Packet00Login(getPlayer().getUsername());
92+
level.addEntity(player);
93+
Packet00Login loginPacket = new Packet00Login(player.getUsername(), player.x, player.y);
9494

9595
if (socketServer != null) {
9696
socketServer.addConnection((PlayerMP) getPlayer(), loginPacket);

src/com/redomar/game/net/GameClient.java

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,7 @@ private void parsePacket(byte[] data, InetAddress address, int port) {
5858
break;
5959
case LOGIN:
6060
packet = new Packet00Login(data);
61-
System.out.println("[" + address.getHostAddress() + ":" + port
62-
+ "] " + ((Packet00Login) packet).getUsername()
63-
+ " has joined...");
64-
PlayerMP player = new PlayerMP(game.getLevel(), 10, 10,
65-
((Packet00Login) packet).getUsername(), address, port);
66-
game.getLevel().addEntity(player);
61+
handleLogin((Packet00Login)packet, address, port);
6762
break;
6863
case DISCONNECT:
6964
packet = new Packet01Disconnect(data);
@@ -74,12 +69,20 @@ private void parsePacket(byte[] data, InetAddress address, int port) {
7469
break;
7570
case MOVE:
7671
packet = new Packet02Move(data);
77-
this.handlePacket((Packet02Move)packet);
72+
this.handleMove((Packet02Move)packet);
7873
break;
7974
}
8075
}
8176

82-
private void handlePacket(Packet02Move packet) {
77+
private void handleLogin(Packet00Login packet, InetAddress address, int port) {
78+
System.out.println("[" + address.getHostAddress() + ":" + port + "] "
79+
+ packet.getUsername() + " has joined...");
80+
PlayerMP player = new PlayerMP(game.getLevel(), packet.getX(), packet.getY(),
81+
packet.getUsername(), address, port);
82+
game.getLevel().addEntity(player);
83+
}
84+
85+
private void handleMove(Packet02Move packet) {
8386
this.game.getLevel().movePlayer(packet.getUsername(), packet.getX(), packet.getY());
8487
}
8588

@@ -92,4 +95,5 @@ public void sendData(byte[] data) {
9295
e.printStackTrace();
9396
}
9497
}
98+
9599
}

src/com/redomar/game/net/GameServer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ public void addConnection(PlayerMP player, Packet00Login packet) {
111111
} else {
112112
sendData(packet.getData(), p.ipAddess, p.port);
113113

114-
packet = new Packet00Login(p.getUsername());
114+
packet = new Packet00Login(p.getUsername(), p.x, p.y);
115115
sendData(packet.getData(), player.ipAddess, player.port);
116116
}
117117
}

src/com/redomar/game/net/packets/Packet00Login.java

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,26 @@
66
public class Packet00Login extends Packet {
77

88
private String username;
9+
private int x, y;
910

1011
public Packet00Login(byte[] data) {
1112
super(00);
12-
this.username = readData(data);
13+
String[] dataArray = readData(data).split(",");
14+
this.username = dataArray[0];
15+
this.x = Integer.parseInt(dataArray[1]);
16+
this.y = Integer.parseInt(dataArray[2]);
1317
}
1418

15-
public Packet00Login(String username) {
19+
public Packet00Login(String username, int x, int y) {
1620
super(00);
1721
this.username = username;
22+
this.x = x;
23+
this.y = y;
1824
}
1925

2026
@Override
2127
public byte[] getData() {
22-
return ("00" + this.username).getBytes();
28+
return ("00" + this.username + "," + getX() + "," + getY()).getBytes();
2329
}
2430

2531
@Override
@@ -35,4 +41,12 @@ public void writeData(GameServer server) {
3541
public String getUsername() {
3642
return username;
3743
}
44+
45+
public int getX() {
46+
return this.x;
47+
}
48+
49+
public int getY() {
50+
return this.y;
51+
}
3852
}

src/com/redomar/game/net/packets/Packet02Move.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public Packet02Move(String username, int x, int y) {
2525

2626
@Override
2727
public byte[] getData() {
28-
return ("02" + this.username + "," + this.x + "," + this.y).getBytes();
28+
return ("02" + this.username + "," + getX() + "," + getY()).getBytes();
2929
}
3030

3131
@Override

0 commit comments

Comments
 (0)