Advertisement
Guest User

Untitled

a guest
Jul 30th, 2015
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.24 KB | None | 0 0
  1. import java.net.*;
  2. import java.io.*;
  3. import java.util.*;
  4.  
  5. class GameGlobals{
  6.     static boolean isPlayable = true;
  7.     static int playerLeft, playerCenter, playerRight;
  8.     static int clientCount = 0;
  9. }
  10.  
  11. class Server{
  12.     public static void main (String[] args) {
  13.         ServerSocket serverSocket = null;
  14.  
  15.         try {
  16.             serverSocket = new ServerSocket(8080);
  17.         } catch (IOException e) {
  18.             System.out.println("Could not listen on port 8080, " + e);
  19.             System.exit(1);
  20.         }
  21.  
  22.         Socket clientSocket1 = null;
  23.         Socket clientSocket2 = null;
  24.  
  25.         try {
  26.             System.out.println("Waiting for players (0/2).");
  27.             clientSocket1 = serverSocket.accept();
  28.             System.out.println("Waiting for players (1/2).");
  29.             clientSocket2 = serverSocket.accept();
  30.             System.out.println("All players connected (2/2).");
  31.         } catch (IOException e) {
  32.             System.out.println("Accept failed, " + e);
  33.             System.exit(1);
  34.         }
  35.  
  36.         Serving serving1 = new Serving(clientSocket1);
  37.         Serving serving2 = new Serving(clientSocket2);
  38.         GameSetup game = new GameSetup();
  39.         GameSetup.Enemy currEnemy = null;
  40.        
  41.         currEnemy = game.new Enemy();
  42.  
  43.         serving1.start();
  44.         serving2.start();
  45.  
  46.         boolean isPlayable = true;
  47.  
  48.         while (GameGlobals.isPlayable) {
  49.             try {
  50.                 Thread.sleep(game.SPAWN_TIME);
  51.                 currEnemy = game.new Enemy();              
  52.                 for(int i = 0; i < GameGlobals.clientCount; i++) {
  53.                     System.out.println("ENEMY " + currEnemy);
  54.                     serving1.os[i].println("ENEMY " + currEnemy);
  55.                 }
  56.             } catch (InterruptedException e) {}
  57.         }
  58.  
  59.         try {
  60.             serverSocket.close();
  61.         } catch (IOException e) {
  62.             e.printStackTrace();
  63.         }
  64.     }
  65. }
  66.  
  67. class Serving extends Thread {
  68.     Socket clientSocket;
  69.     static boolean isPlayable = true;
  70.     public static PrintStream os[] = new PrintStream[2];
  71.  
  72.     Serving (Socket clientSocket) {
  73.         this.clientSocket = clientSocket;
  74.     }
  75.  
  76.     public synchronized void run() {
  77.         try {
  78.             os[GameGlobals.clientCount++] = new PrintStream (clientSocket.getOutputStream(), true);
  79.  
  80.             while(GameGlobals.isPlayable);
  81.  
  82.             for(int i = 0; i < GameGlobals.clientCount; i++) {
  83.                 os[i].close();
  84.             }
  85.  
  86.             clientSocket.close();
  87.         } catch (IOException e) {
  88.             e.printStackTrace();
  89.         } catch (NoSuchElementException e) {
  90.             System.out.println("Connection closed by client.");
  91.         }
  92.     }
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement