public void removePlayer(String un) { int n = players.size(); Player p; for (int i = 0; i < n; i++) { p = (Player) players.get(i); if (p.getName().equals(un)) { players.remove(i); if (game != null) game.makeHimQuit(p); break; } } }
/** Sends the game description over the net */ public void sendNetworkDescription(SocketAnalyser sa) throws IOException { sa.reply("GINF"); // sends if running sa.reply("GRUN " + ((gamestarted) ? "1" : "0")); // sending players int n = players.size(); Player p; Color c; for (int i = 0; i < n; i++) { p = (Player) players.get(i); c = p.getColor(); sa.reply( "PLYR " + sa.stringEncode(p.getName()) + "," + c.getRed() + "," + c.getGreen() + "," + c.getBlue()); } // sending props sa.reply( "PRCF " + sa.stringEncode( props .getCircuitFileName() .substring(cirkuit.remote.server.Server.getCircuitFolder().length()))); sa.reply("PRGR " + props.getGrid()); sa.reply("PRMS " + props.getMinusSpeed()); sa.reply("PRPS " + props.getPlusSpeed()); sa.reply("PRCR " + props.getCrashRadius()); sa.reply("PRMA " + (int) Math.toDegrees(props.getMaxAngle())); sa.reply("PRRD " + ((props.getRedDots()) ? "1" : "0")); sa.reply("PRIC " + ((props.getIsCrash()) ? "1" : "0")); sa.reply("PRMD " + props.getMode()); sa.reply("PRTN " + props.getTurn()); sa.reply("PRTC " + props.getTrace()); // sending circuit // I uncommented it because on the client side it wasn't implemented if (circuitFileName == null || !props.getCircuitFileName().equals(circuitFileName)) { circuit.load(props.getCircuitFileName()); } sa.reply("CINF"); sa.reply(circuit.toString()); sa.reply("CINE"); sa.reply("GINE"); }