53 lines
1.2 KiB
Java
53 lines
1.2 KiB
Java
import java.util.List;
|
|
|
|
public class OnlinePlayer_1_1_0 extends OnlinePlayer {
|
|
public OnlinePlayer_1_1_0(int size, AsyncSocket socket) {
|
|
super(size, socket);
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
public void receive(String message) {
|
|
SocketPackage p = new SocketPackage(message);
|
|
|
|
// TODO: parse package
|
|
switch (p.getName()) {
|
|
case "SHOOT":
|
|
if (Point.isValidSyntax(p.getData())){
|
|
Point point = new Point(p.getData());
|
|
this.enemy.receiveShoot(point);
|
|
}
|
|
break;
|
|
|
|
case "HIT":
|
|
List<String> data = p.splitData();
|
|
if (data.size()==2){
|
|
Point point = new Point(data.get(0));
|
|
int typeIndex = Integer.parseInt(data.get(1));
|
|
if (Point.isValidSyntax(data.get(0)) && typeIndex >= 0 && typeIndex < HitResponseType.values().length){
|
|
this.enemy.receiveHit(new HitResponse(typeIndex, point));
|
|
}
|
|
}
|
|
break;
|
|
|
|
case "CHAT":
|
|
//TODO CHAT
|
|
break;
|
|
|
|
default:
|
|
//nichts passier da Paket ungültig
|
|
break;
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public synchronized void receiveShoot(Point point){
|
|
super.socket.send(new SocketPackage("SHOOT",point.toString()));
|
|
}
|
|
|
|
@Override
|
|
public synchronized void receiveHit(HitResponse hitResponse) {
|
|
super.socket.send(new SocketPackage("HIT", hitResponse.toString()));
|
|
}
|
|
} |