package propra2012.gruppe33.bomberman; import com.indyforge.twod.engine.graphics.rendering.scenegraph.SceneProcessor; import com.indyforge.twod.engine.graphics.rendering.scenegraph.SceneProcessor.NetworkMode; public class ServerApp extends Thread { // The number of players private final int players; // Create a new scene as server private final SceneProcessor serverProcessor = new SceneProcessor( NetworkMode.Server).openServer(1337); public ServerApp(int players) { if (players <= 0) { throw new IllegalArgumentException("players must be >= 1"); } this.players = players; } public int players() { return players; } public SceneProcessor processor() { return serverProcessor; } @Override public void run() { try { // Wait for two players while (true) { System.out.println("Started ?"); Thread.sleep(1000); synchronized (serverProcessor.adminSessionServer()) { if (serverProcessor.adminSessionServer().sessionCount() == players) { serverProcessor.adminSessionServer().acceptingSessions( false); break; } } } // Recreate the server game! new Game().players(players).serverGame(serverProcessor); // Start the server game serverProcessor.start(50); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { new ServerApp(2).start(); } }