Hola todos perdon por no haberme presentado antes; soy jose luis y soy nuevo en el foro saludos a todos.
Tengo un problema estoy desarrollando un juego del gato con rmi ya tengo casi todo, las jugadas ganadoras q si gana se acabe el juego que se registren pero no puedo hacer que cuando empatan se reinicie el tablero para volver a jugar me pueden ayudar por favor estas son mis tres clases
MiClienteRMI
import java.util.*;
public class MiClaseRemota extends java.rmi.server.UnicastRemoteObject implements MiInterfazRemoto
{
/////////////////////declaracion de variables
private int j=4;
private int n=j;
private int i=-1;
private String array[]={"NR","NR","NR","NR"};
private String cadena;
String auxtab[][]={{"1","2","3"},{"4","5","6"},{"7","8","9"}};
String array_aux[]={"1","2","3","4","5","6","7","8","9"};
List lista = new ArrayList();
int cont;
String ficha="";
int aux1,con1;
String w, cadaux, cadenita;
int aux22;
String var_ganador;
public String var;
///////////////////////////////////////////////////
public MiClaseRemota() throws java.rmi.RemoteException
{
// Código del constructor
}
public String Ficha(int f) throws java.rmi.RemoteException
{
int mod=f%2;
if(mod==0)
ficha="X";
if(mod==1)
ficha="O";
return ficha;
}
public int metodo(int d) throws java.rmi.RemoteException
{
int mod=d%2;
if(mod==0)
{
cadaux="Tira";
System.out.println(cadaux);
aux1=0;
}else{
cadaux="Espera";
System.out.println(cadaux);
aux1=1;
}
return aux1;
}
public int registro(String dato) throws java.rmi.RemoteException
{
i++;
if(i<j){
System.out.println();
System.out.println("******Registrado****** "+dato);
System.out.println("");
array[i]=dato;
}
else
{
i=20;
}
return i;
}
public String sorteo() throws java.rmi.RemoteException
{
String cadena="\n Sorteo de Juegos \n Partido 1 "+
array[0]+" vs "+array[1];
System.out.println(cadena);
return cadena;
}
//////////////////////////////
public void tableroJuego() throws java.rmi.RemoteException
{
for(int i=0;i<3;i++)
{for(int j=0;j<3;j++)
{
System.out.print(" "+auxtab[i][j]+" ");
}
System.out.println();
}
}
public void JugadasGanadoras(String nombre) throws java.rmi.RemoteException
{
if(auxtab[0][0].equals("X") && auxtab[0][1].equals("X") && auxtab[0][2].equals("X"))
{ w="ganador";
System.out.println(w+" "+nombre);
}else if(auxtab[0][0].equals("O") && auxtab[0][1].equals("O") && auxtab[0][2].equals("O"))
{ w="ganador";
System.out.println(w+" "+nombre);
}
if(auxtab[0][0].equals("X") && auxtab[1][0].equals("X") && auxtab[2][0].equals("X"))
{ w="ganador";
System.out.println(w+" "+nombre);
}else if(auxtab[0][0].equals("O") && auxtab[1][0].equals("O") && auxtab[2][0].equals("O"))
{ w="ganador";
System.out.println(w+" "+nombre);
}
if(auxtab[1][0].equals("X") && auxtab[1][1].equals("X") && auxtab[1][2].equals("X"))
{ w="ganador";
System.out.println(w+" "+nombre);
}else if(auxtab[1][0].equals("O") && auxtab[1][1].equals("O") && auxtab[1][2].equals("O"))
{ w="ganador";
System.out.println(w+" "+nombre);
}
if(auxtab[0][1].equals("X") && auxtab[1][1].equals("X") && auxtab[2][1].equals("X"))
{ w="ganador";
System.out.println(w+" "+nombre);
}else if(auxtab[0][1].equals("O") && auxtab[1][1].equals("O") && auxtab[2][1].equals("O"))
{ w="ganador";
System.out.println(w+" "+nombre);
}
if(auxtab[2][0].equals("X") && auxtab[2][1].equals("X") && auxtab[2][2].equals("X"))
{ w="ganador";
System.out.println(w+" "+nombre);
}else if(auxtab[2][0].equals("O") && auxtab[2][1].equals("O") && auxtab[2][2].equals("O"))
{ w="ganador";
System.out.println(w+" "+nombre);
}
if(auxtab[0][2].equals("X") && auxtab[1][2].equals("X") && auxtab[2][2].equals("X"))
{ w="ganador";
System.out.println(w+" "+nombre);
}else if(auxtab[0][2].equals("O") && auxtab[1][2].equals("O") && auxtab[2][2].equals("O"))
{ w="ganador";
System.out.println(w+" "+nombre);
}
if(auxtab[0][0].equals("X") && auxtab[1][1].equals("X") && auxtab[2][2].equals("X"))
{ w="ganador";
System.out.println(w+" "+nombre);
}else if(auxtab[0][0].equals("O") && auxtab[1][1].equals("O") && auxtab[2][2].equals("O"))
{ w="ganador";
System.out.println(w+" "+nombre);
}
if(auxtab[0][2].equals("X") && auxtab[1][1].equals("X") && auxtab[2][0].equals("X"))
{ w="ganador";
System.out.println(w+" "+nombre);
}else if(auxtab[0][2].equals("O") && auxtab[1][1].equals("O") && auxtab[2][0].equals("O"))
{ w="ganador";
System.out.println(w+" "+nombre);
}
}
//////////////////////////////
public List<String> tablero(String t,String f,String nombre) throws java.rmi.RemoteException
{
con1=0;
if(Integer.parseInt(t)!=0)
{
for(int i=0;i<3;i++)
{for(int j=0;j<3;j++)
{
if(auxtab[i][j].equals("X") || auxtab[i][j].equals("O"))
{
//System.out.println("\n**************************** ***************");
//System.out.println("Ya fue elegido por otro jugador");
//System.out.println("****************************** *************");
}
}
System.out.println();
}
System.out.println("****************************** *************");
System.out.println("TIRO: "+t+" FICHA: "+f+" NOMBRE: "+nombre);
System.out.println("****************************** *************");
System.out.println();
for(int i=0;i<3;i++)
{for(int j=0;j<3;j++)
{
if(auxtab[i][j].equals(t))
{
auxtab[i][j]=f;
System.out.print(" "+auxtab[i][j]+" ");
}
else
System.out.print(" "+auxtab[i][j]+" ");
}
System.out.println();
}
///////////////////////////////////
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
array_aux[con1]=auxtab[i][j];
con1++;
}
}
System.out.println("****************************** *************");
JugadasGanadoras(nombre);
System.out.println("****************************** *************\n");
}else if(t.equals("0"))
{
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
array_aux[con1]=auxtab[i][j];
con1++;
}
}
}
//Conversion de array a lista
java.util.List list = Arrays.asList(array_aux);
return list;
}
////////////////////////////////
public static void main(String[] args)
{
try
{
MiInterfazRemoto mir = new MiClaseRemota();
java.rmi.Naming.rebind("//" + java.net.InetAddress.getLocalHost().getHostAddress () +
":" + args[0] + "/PruebaRMI", mir);
System.out.println("****************************** *************");
System.out.println("Ip del Servidor "+java.net.InetAddress.getLocalHost().getHostAddre ss());
System.out.println("puerto: "+args[0]);
System.out.println("****************************** *************\n\n");
}
catch (Exception e)
{
}
}
}
Todo se ejecuta en simbolo del sistema se que es mucho codigo no tiene errores corre pero no puedo realizar lo que les comente
Espero me puedan ayudar Gracias