/// <summary> /// Núcleo de la partida. Pedimos tipo de jugadores, vamos turnando /// entre ellos, etc. /// </summary> public void Partida() { Boolean terminada = false, pasan = false; int nivel1, nivel2; char[,] boardAnterior = new char[10, 10]; tablero = new Tablero(); tablero.Inicio(); MostrarMensajeInicial(); Opciones.SeleccionJugadores(out pl1, out pl2, out nivel1, out nivel2); tablero.MostrarTablero(); Participante jugador1 = FactoriaJugador.NewInstance(pl1, nivel1); Participante jugador2 = FactoriaJugador.NewInstance(pl2, nivel2); do { boardAnterior = (char[, ])tablero.GetBoard().Clone(); Console.WriteLine("MOVIMIENTO JUGADOR 1 --------------\n"); EjecutarJugada(jugador1); Console.WriteLine("MOVIMIENTO JUGADOR 2 --------------\n"); EjecutarJugada(jugador2); ContarFichas(); terminada = ComprobarFinDePartida(); pasan = ComprobarPasaDosTurnosSeguidos(boardAnterior); } while (!terminada && !pasan); DeterminarGanador(); Console.WriteLine("Presione tecla para salir..."); Console.Read(); }
/// <summary> /// Método para actualizar tablero /// </summary> /// <param name="jugador">Participante que está realizando /// movimiento</param> /// <param name="row">Fila</param> /// <param name="col">Columna</param> public void ActualizarTablero(Tablero tablero, int row, int col) { tablero.SetBoard(row, col, color); tablero.MostrarTablero(); }