package trips; import java.io.*; import java.net.*; public class VorguKlient1 { BufferedReader lugeja; PrintWriter kirjutaja; LauaLiides laud = new JaagupiLaud(); Socket sc; public VorguKlient1() { try { lugeja = new BufferedReader(new InputStreamReader(System.in)); kirjutaja = new PrintWriter(System.out, true); } catch (Exception ex) { ex.printStackTrace(); System.exit(1); } } public VorguKlient1(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()); } } } void m2ngi() throws IOException { 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"); } if(sc!=null){sc.close();} } public static void main(String[] args) throws Exception { if (args.length == 0) { new VorguKlient1().m2ngi(); } 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 VorguKlient1(sc).m2ngi(); } ss.close(); } } }