import java.io.*; import java.net.*; import java.awt.*; import java.awt.event.*; import java.applet.Applet; public class TripsuKlient extends Applet implements Runnable, MouseListener{ int ruudulaius=100; char[][] laud=new char[3][3]; PrintWriter valja; BufferedReader sisse; boolean minukaik=false; public TripsuKlient(){ try{ Socket sc=new Socket("192.168.4.43", 3001); sisse=new BufferedReader(new InputStreamReader(sc.getInputStream())); valja=new PrintWriter(sc.getOutputStream(), true); addMouseListener(this); new Thread(this).start(); }catch(Exception ex){ ex.printStackTrace(); } } public void run(){ try{ while(true){ String rida=sisse.readLine(); System.out.println(rida); if(rida.startsWith("Laud:")){ for(int rnr=0; rnr<3; rnr++){ rida=sisse.readLine(); for(int vnr=0; vnr<3; vnr++){ laud[rnr][vnr]=rida.charAt(vnr); } } minukaik=false; } if(rida.startsWith("Sinu kord:")){ minukaik=true; } repaint(); } }catch(Exception ex){ ex.printStackTrace(); } } public void mousePressed(MouseEvent e){ } public void mouseReleased(MouseEvent e){} public void mouseClicked(MouseEvent e){ if(minukaik){ valja.println(e.getX()/ruudulaius+" "+e.getY()/ruudulaius); minukaik=false; repaint(); } } public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void paint(Graphics g){ ruudulaius=Math.min(getWidth(), getHeight())/3; g.drawLine(ruudulaius, 0, ruudulaius, 3*ruudulaius); g.drawLine(2*ruudulaius, 0, 2*ruudulaius, 3*ruudulaius); g.drawLine(0, ruudulaius, 3*ruudulaius, ruudulaius); g.drawLine(0, 2*ruudulaius, 3*ruudulaius, 2*ruudulaius); g.drawRect(0, 0, 3*ruudulaius, 3*ruudulaius); for(int rida=0; rida<3; rida++){ for(int veerg=0; veerg<3; veerg++) { g.drawString(String.valueOf(laud[rida][veerg]), rida*ruudulaius+ruudulaius/2, veerg*ruudulaius+ruudulaius/2); } } if(minukaik){ g.setColor(Color.green); g.fillOval(0, 0, 10, 10); } } public static void main(String[] arg){ Frame f=new Frame("Trips Traps Trulli klient"); f.setSize(300, 300); f.add(new TripsuKlient()); f.setVisible(true); } }