/** TicTacToe * * @author Kristof Friedrichsen * @author Patrick O'Neill * @author Robert Free * @author Ryan Mann */ import java.net.*; import java.io.*; import javax.swing.*; public class TTTServer { static String fromPlayer = "0"; static String toPlayer = ""; static String[][] ButtonArray1 = new String[5][5]; public static void main(String[] args) { int PORT = 2699; int boardWidth; int boardHeight; Integer z; Character whosTurn = '1'; JOptionPane Message = new JOptionPane(); int clickCount = 0; int i=0; int j=0; String icon2=""; String type [] = new String [3]; type[0] = "1"; type[1] = "2"; type[2] = "3"; for(int g=0;g<5;g++){ for(int h=0;h<5;h++){ ButtonArray1[g][h] = "0"; } } for (int m = 0; m<5;m++){ for(int n = 0;n<5;n++){ toPlayer += ButtonArray1[m][n]; } } try { ServerSocket serverSocket = new ServerSocket(PORT); for (int c=0;c<3;c++) { try { Socket client = serverSocket.accept(); PrintWriter out = new PrintWriter(client.getOutputStream(), true); BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream())); out.println(type[c]); in.close(); out.close(); client.close(); }//end of try catch (Exception ex) { ex.printStackTrace(); System.exit(-1); }//end of catch }//end of for loop for(;;) { for (z=1 ;z < 4;z++) { toPlayer = ""; toPlayer += whosTurn.toString(); for (int m = 0; m<5;m++){ for(int n = 0;n<5;n++){ toPlayer += String.valueOf(ButtonArray1[m][n]); } } try { Socket client = serverSocket.accept(); PrintWriter out = new PrintWriter(client.getOutputStream(), true); BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream())); out.println(toPlayer); fromPlayer = in.readLine(); if ( fromPlayer.equals( toPlayer ) ) { in.close(); out.close(); client.close(); } else { if ( whosTurn.equals( fromPlayer.charAt(0) ) ) { if ( whosTurn.equals('3') ) whosTurn = '1'; else if ( whosTurn.equals('2') ) whosTurn = '3'; else if ( whosTurn.equals('1') ) whosTurn = '2'; int count = 1; for (int m = 0; m<5;m++){ for(int n = 0;n<5;n++){ ButtonArray1[m][n] = fromPlayer.substring(count,count+1); count++; } } fromPlayer = "0"; } in.close(); out.close(); client.close(); } }//end of try catch (IOException ex) { ex.printStackTrace(); System.exit(-1); }//end of catch }//end of for loop for 3 }//end for lopp ever }//end try for all catch(Exception ex) { }//end catch for all } //end of main }//end class