class JuegoGato56 extends Program {
  void run() {
    Gato gato= new Gato();
    println("Juguemos al Gato.  Ud. es x, yo soy o.  Ud. comienza.");
    int cont=0;
    while(true) {
      println("Diga la fila que juega");
      int fila= readInt();
      println("Diga la columna que juega");
      int col= readInt();
      gato.colocar("x", fila, col);
      if (gana(gato, "x")) {
        println("Ud. gana");
        break;
      }
      cont= cont+1;
      if (cont>5) { // El primer jugador no puede hacer mas de 5 jugadas
        println("Empatamos");
        break;
      }
      gato.jugar("o");
      gato.desplegar();
      if (gana(gato, "o")) {
        println("Lo siento, te gane.");
        break;
      }
    }
  }

  boolean gana(Gato gato, String sim) {
    int k= 1;
    int contDiag1= 0;
    int contDiag2= 0;
    while (k<=3) {
      if (gato.contarEnFila(sim, k)==3)
        return true;
      if (gato.contarEnCol(sim, k)==3)
        return true;

      if (gato.consultar(sim, k, k))
        contDiag1= contDiag1+1;
      if (gato.consultar(sim, k, 4-k))
        contDiag2= contDiag2+1;

      k= k+1;
    }

    return contDiag1==3 || contDiag2==3;
  }
}
