Gra Kółko i krzyżyk - dodanie trybu multiplayer na socketach

0

Posiadam Grę Kółko i krzyżyk zrobioną na przyciskach . Jak na razie da się grać tylko przy jednym komputerze. Chce zrobić tryb multiplayer na socketach.

Nie wiem w jaki sposób się do tego zabrać. Jak przesyłać dane, że np gracz kliknął akurat w dane pole i przykładowo w tym momencie pojawia się krzyżyk w tym polu u gracza który kliknął jak i u drugiego gracza.

Proszę o pomoc

0

No to robisz tak:
Na jednym komputerze (w grze) stawiasz serwer na konkretnym porcie, u drugim podłączasz się do niego. Teraz Już tylko przy kliknięciu przez gracza kółka/krzyżyka wysyłasz socketem informację do serwera/klienta(zależy kto kliknął) i zarządzasz tym od strony javy. Całą filozofia.

0

z połączeniem nie mam problemu. Tylko nie wiem jak od strony javy wysłać tą informacje który przycisk został kliknięty.

0

Nie myśl o przyciskach tylko o logice gry. Zapewne nie masz oddzielonej logiki gry od interfejsu, i dlatego nie wiesz, jak to zrobić.

0

Przesyłam cała tablice zserializowaną, ale przesyła ją błędnie. Co tu jest nie tak ?
Przechwytywanie tablicy:

import java.io.Serializable;

import javax.swing.JButton;


public class Tablicas implements Serializable {
	JButton [][] x = null;
	public Tablicas(JButton [][] x) {
		 this.x = x;
		
	}
 
	 public JButton[][] ret(){
		 return x;
	 }
}

Serwer :

  try {
        	serverSock = new ServerSocket(5000);
        	clientSock = serverSock.accept();
        	 
        
	System.out.println("Got a connection. \n");

  if(on = true)
	odbior();
  
        	} // end try
        catch (Exception ex)
        {
	
        	System.out.println("Error making a connection. \n");
        	} // end catch

        
       
    		}
    
    void odbior() throws IOException, ClassNotFoundException{

    	  ObjectInputStream ois = new ObjectInputStream(clientSock.getInputStream());
    	    JButton[][] Tab = (JButton[][]) ois.readObject();
}

Klient

  void connect() {
        try {
            sock = new Socket(serverIP, Port);
           
           
            Tablicas out = new Tablicas(przy);
            ObjectOutputStream oos=new ObjectOutputStream(sock.getOutputStream()); 
            oos.writeObject(out);
            oos.flush();
            
        } catch (Exception ex) {
            System.out.println("Cannot Connect! Try Again. \n");
           
        }
    }

1 użytkowników online, w tym zalogowanych: 0, gości: 1