Ayuda con este código

Tagged:  

ola necesito que si me pueden ayudar con ese codigo: la parte que no entiendo es este: cuando yo pongo fila y columna 0 el valor =0 entonces lo que hace que entra a ponerficha pero luego busca que si no hay un valor pone entonces 1 entonces quedaria asi:
fila=0 y columna=0 el valor =0

ponerFichaOrdenador(){
luego entra en el if y queda asi

if (nTablero[n>[m>==-1){
haora nTablero tiene almacenado
en la fila 0 y columna 0=el valor 0
en la fila 0 y columna 1= el valor 1
ahora es la parte que no entiendo cuando entra en la funcion min
y luego
la funcion min tiene la funcion max como se llama por si mismo como hace no se si puedan ponerme por medio de dibujos o por pseudocodigo se lo agradeceria mi correo es:matyac_24[@]hotmail.com

}

}

public class TresEnRaya { 
private static int TAM=3; 
      private static int nTablero[>[>=new int[TAM>[TAM>; 
 
      private static int nGanador=-1; 
    // private static int nContar=0; 
 
 
      public static void main(String[> args){ 
       int fi=0; 
       int co=0; 
       empezarPartida(); 
       pulsaBoton(fi,co); 
 
 
       //ponerFichaOrdenador(); 
 
} 
 
 
 
 
 
      /** Creates a new instance of TresEnRaya */ 
      public TresEnRaya() { 
            empezarPartida(); 
         //   nContar=0; 
      } 
 
      public static int[>[> getTablero(){ 
            return nTablero; 
      } 
 
      public static void empezarPartida(){ 
            for (int n=0;n<TAM;n++) 
                  for (int m=0;m<TAM;m++) 
                        nTablero[n>[m>=-1; 
            nGanador=-1; 
      } 
 
      public static void pulsaBoton(int n, int m){ 
            if (n>=0 && m>=0 && n<TAM && m<TAM && nTablero[n>[m>==-1){ 
                  if (nGanador==-1){ 
                        nTablero[n>[m>=0; 
                        nGanador = ganaPartida(); 
                        ponerFichaOrdenador(); 
                  } 
            } 
      } 
 
      public static int ganaPartida(){ 
            if (nTablero[0>[0> != -1 && nTablero[0>[0> == nTablero[1>[1> 
                        && nTablero[0>[0> == nTablero[2>[2>) 
                  return nTablero[0>[0>; 
            if (nTablero[0>[2> != -1 && nTablero[0>[2> == nTablero[1>[1> 
                        && nTablero[0>[2> == nTablero[2>[0>) 
                  return nTablero[0>[2>; 
            for (int n=0;n<TAM;n++){ 
                  if (nTablero[n>[0> != -1 && nTablero[n>[0> == nTablero[n>[1> 
                              && nTablero[n>[0> == nTablero[n>[2>) 
                        return nTablero[n>[0>; 
                  if (nTablero[0>[n> != -1 && nTablero[0>[n> == nTablero[1>[n> 
                              && nTablero[0>[n> == nTablero[2>[n>) 
                        return nTablero[0>[n>; 
            } 
            return -1; 
      } 
 
      public int getGanador(){ 
            return nGanador; 
      } 
 
      //Algoritmo minimax 
      private static boolean tableroCompleto(){ 
            for (int n=0;n<TAM;n++) 
                  for (int m=0;m<TAM;m++) 
                        if (nTablero[n>[m>==-1) 
                              return false; 
            return true; 
      } 
 
      private static boolean finPartida(){ 
            return tableroCompleto() || ganaPartida()!=-1; 
      } 
 
      private static void ponerFichaOrdenador(){ 
            if (!finPartida()){ 
                  int f=0, c=0; 
                  int v=Integer.MIN_VALUE; 
                  int aux; 
                  for (int n=1;n<=1;n++){ 
                        for (int m=1;m<=1;m++){ 
                              if (nTablero[n>[m>==-1){//2if 
                                    nTablero[n>[m>=1; 
 
                                    aux=min(); 
 
                                    if (aux>v) {//1if 
 
 
                                          v=aux; 
                                          f=n; 
                                          c=m; 
 
 
 
                         }//1if 
                                    nTablero[n>[m>=-1; 
                                    }//if 
 
                              } 
                        } 
 
                  nTablero[f>[c>=1; 
 
 
 
            } 
 
 
            nGanador=ganaPartida(); 
      } 
 
      private static int max(){ 
            if (finPartida()){ 
                  if (ganaPartida()!=-1) return -1; 
                  else return 0; 
            } 
            int v=Integer.MIN_VALUE; 
            int aux; 
            for (int n=0;n<TAM;n++){ 
                  for (int m=0;m<TAM;m++){ 
                        if (nTablero[n>[m>==-1){ 
 
 
                              nTablero[n>[m>=1; 
 
                              aux=min(); 
 
                            if (aux>v) v=aux; 
 
 
                            nTablero[n>[m>=-1; 
 
                        } 
                  } 
            } 
 
            return v; 
      } 
 
      private static int min(){ 
            if (finPartida()){ 
                  if (ganaPartida()!=-1) return 1; 
 
                  else return 0; 
            } 
            int v=Integer.MAX_VALUE; 
            int aux; 
            for (int n=0;n<TAM;n++){ 
                  for (int m=0;m<TAM;m++){ 
 
 
                        if (nTablero[n>[m>==-1){ 
 
 
                         nTablero[n>[m>=0; 
 
                            aux=max(); 
 
                           if (aux<v) v=aux; 
 
 
                              nTablero[n>[m>=-1; 
                        } 
                  } 
            } 
 
            return v; 
      } 
 
 
} 

Enviar un comentario nuevo

El contenido de este campo se mantiene privado y no se mostrará públicamente.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de líneas y de párrafos.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <pre>. The supported tag styles are: <foo>, [foo].

Más información sobre opciones de formato

By submitting this form, you accept the Mollom privacy policy.