package trips; import java.io.*; import java.net.*; public class VorguKlient2 implements Runnable{ BufferedReader lugeja; PrintWriter kirjutaja; LauaLiides laud = new JaagupiLaud(); Socket sc; public VorguKlient2() { try { lugeja = new BufferedReader(new InputStreamReader(System.in)); kirjutaja = new PrintWriter(System.out, true); } catch (Exception ex) { ex.printStackTrace(); System.exit(1); } } public VorguKlient2(Socket sc) { try { lugeja = new BufferedReader(new InputStreamReader( sc.getInputStream())); kirjutaja = new PrintWriter(sc.getOutputStream(), true); this.sc=sc; } catch (Exception ex) { ex.printStackTrace(); System.exit(1); } } void kuvaLaud(LauaLiides laud) { String t = ""; for (int rida = 1; rida <= 3; rida++) { for (int veerg = 1; veerg <= 3; veerg++) { t += laud.symbol(rida, veerg); } t += "\n"; } kirjutaja.println(t); } int[] kysiAsukoht(char kellekaik) { while (true) { try { kirjutaja.println(kellekaik + " kord"); kirjutaja.println("palun rida"); int reanr = Integer.parseInt(lugeja.readLine()); kirjutaja.println("palun veerg"); int veerunr = Integer.parseInt(lugeja.readLine()); return new int[] { reanr, veerunr }; } catch (Exception ex) { kirjutaja.println(ex.getMessage()); } } } public void run() { char kellekord = 'X'; int seisund = 0; while (seisund == 0) { int[] asukoht = kysiAsukoht(kellekord); seisund = laud.k2ik(asukoht[0], asukoht[1], kellekord); kuvaLaud(laud); if (kellekord == 'X') { kellekord = '0'; } else { kellekord = 'X'; } } if (seisund == 1) { kirjutaja.println("Nulli vőit"); } if (seisund == 2) { kirjutaja.println("Risti vőit"); } if (seisund == 3) { kirjutaja.println("Viik"); } try{ if(sc!=null){sc.close();} } catch(Exception ex){ex.printStackTrace();} } public static void main(String[] args) throws Exception { if (args.length == 0) { new VorguKlient2().run(); } else { System.out.println("algus"); ServerSocket ss = new ServerSocket(Integer.parseInt(args[0])); System.out.println("Yhendus loodud"); for(int i=0; i<10; i++){ Socket sc = ss.accept(); System.out.println("Klient kohal"); new Thread(new VorguKlient2(sc)).start(); } ss.close(); } } }