예제 #1
0
파일: Program.cs 프로젝트: floppp/Reversi
        /// <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();
        }
예제 #2
0
 /// <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();
 }