import Jugador from './jugador';

export default class BattleshipGame{
    public jugadorA: Jugador;
    public jugadorB: Jugador;
 
    turnoActual: Jugador | null;
    
  constructor(
    public idPartida: string,
  ) {
    this.turnoActual = null;
  }

  setJugadorA(jugador:Jugador){
    this.jugadorA=jugador;
  }

  setJugadorB(jugador:Jugador){
    this.jugadorB=jugador;
  }

  iniciaPartida() {
    this.turnoActual = this.jugadorA;
    // Iniciar el primer turno
    this.realizarTurno();
  }
  realizarTurno() {
    // Realizar las acciones correspondientes al turno actual
    // Por ejemplo, mostrar el mapa del turno actual, solicitar un disparo, etc.
    // Implementa esta parte según sea necesario

    // Luego, alternar el turno al otro jugador
    this.turnoActual =
      this.turnoActual === this.jugadorA ? this.jugadorB : this.jugadorA;

    // Verificar si se ha alcanzado el final del juego
    if (this.haFinalizado()) {
      this.finalizaPartida();
    } else {
      // Si no ha finalizado, continuar con el próximo turno
      this.realizarTurno();
    }
  }
  haFinalizado(): boolean {
    // Aquí debes implementar la lógica para verificar si el juego ha finalizado
    // Por ejemplo, si todos los barcos de uno de los jugadores han sido destruidos
    // Devuelve true si el juego ha finalizado, de lo contrario, devuelve false
    // Implementa esta parte según sea necesario
    return false;
  }
  finalizaPartida() {
    // Aquí debes implementar la lógica para finalizar el juego
    // Por ejemplo, mostrar el resultado (quién ganó, etc.)
    // Implementa esta parte según sea necesario
  }
}
