예제 #1
0
 public Juego()
 {
     //inicializamos los objetos asociados a las
     //propiedades
     tablero = new Tablero ();
     jugador1= new Jugador("X");
     jugador2= new Jugador("O");
 }
예제 #2
0
        public static void Main(string[] args)
        {
            //declaramos e inicializamos los objetos
            Tablero tablero  = new Tablero();
            Jugador jugador1 = new Jugador("X");
            Jugador jugador2 = new Jugador("O");
            //inicializamos las variables
            int jugador_actual = 1;
            int ficha_actual   = 1;

            //abrimos un bucle que dure indefinidamente
            //hasta que finalice el juego
            while (true)
            {
                tablero.PintarTablero();
                if (ficha_actual == 0)
                {
                    Console.Write("Jugador {0}: ingrese el nro de ficha a mover:", jugador_actual);
                    ficha_actual = Convert.ToInt32(Console.ReadLine());
                }
                Console.Write("Jugador {0}: ingrese posición para la ficha {1}:", jugador_actual, ficha_actual);
                int posicion_elegida = Convert.ToInt32(Console.ReadLine());
                //imprimiendo el tipo ficha apropiado según el
                //jugador actual
                if (jugador_actual == 1)
                {
                    tablero.posiciones[posicion_elegida] = jugador1.tipo_ficha;
                }
                else
                {
                    tablero.posiciones[posicion_elegida] = jugador2.tipo_ficha;
                }

                jugador_actual++;

                if (jugador_actual == 3)
                {
                    jugador_actual = 1;
                    ficha_actual++;
                    if (ficha_actual == 4)
                    {
                        ficha_actual = 0;
                    }
                }
            }
            Console.ReadLine();
        }
예제 #3
0
        //
        private sbyte juegaHumano(char[] tab)
        {
            sbyte jugada;

            Console.Write("Ingrese jugada: ");

            while (true)
            {
                sbyte.TryParse(Console.ReadLine(), out jugada);

                if (jugada > 0 && jugada < 10 && Tablero.casilleroLibre(tab, (sbyte)(jugada - 1)))
                {
                    jugada -= 1;
                    break;
                }
                else
                {
                    Console.Write("Reingrese (1 - 9): ");
                }
            }
            ;

            return(jugada);
        }
예제 #4
0
        static void Main(string[] args)
        {
            char[] tab = Tablero.tablero;

            Jugador  jugadorDeTurno;
            Procesos procesos = new Procesos();

            List <Jugador> jugadores = new List <Jugador> ();

            Jugador jugador_1 = new Jugador();
            Jugador jugador_2 = new Jugador();

            jugadores.Add(jugador_1);
            jugadores.Add(jugador_2);

            sbyte jugada;

            //Presentación
            Console.WriteLine(Mensajes.present);
            Tablero.dibujarTablero(Tablero.tab_coordenadas);

            //Seleccionar modalidad de juego
            procesos.seleccionarModalidadJuego(jugadores);

            //Sortea turno
            jugadorDeTurno = Turno.sorteaTurno(jugadores);

            //Se asigna letra a cada jugador
            procesos.asignarLetraAjugador(jugadores, jugadorDeTurno);

            //El bucle se quiebra si el tablero está lleno o si hay ganador.
            while (true)
            {
                Console.WriteLine(jugadorDeTurno.mostrarDatos());
                jugada = procesos.hacerJugada(jugadorDeTurno, tab);
                Tablero.cargarJugada(tab, jugada, jugadorDeTurno.Letra);
                Tablero.dibujarTablero(tab);

                if (Tablero.esGanador(tab, jugadorDeTurno.Letra))
                {
                    Mensajes.Resultado.Ganador(jugadorDeTurno);
                    break;
                }
                else
                {
                    if (!Tablero.tableroLleno(tab))
                    {
                        Turno.cambiaTurno(jugadores, ref jugadorDeTurno);
                    }
                    else
                    {
                        Mensajes.Resultado.Empate();
                        break;
                    }
                }
            }

            Mensajes.Fin();

            Console.ReadLine();
        }
예제 #5
-1
        public static void Main(string[] args)
        {
            //declaramos e inicializamos los objetos
            Tablero tablero = new Tablero();
            Jugador jugador1 = new Jugador("X");
            Jugador jugador2 = new Jugador("O");

            int jugador_actual = 1;
            int ficha_actual = 1;

            //iniciamos un bucle que dure indefinitivamente hasta que el juego finalica
            while (true)
            {
                tablero.PintarTablero();
                if (ficha_actual == 0)
                {
                    Console.Write("Jugador {0}: ingrese el nro de ficha a mover:", jugador_actual);
                    ficha_actual = Convert.ToInt32(Console.ReadLine());
                }
                Console.Write("Jugador {0}: ingrese posición para la ficha {1}:", jugador_actual, ficha_actual);
                int posicion_elegida = Convert.ToInt32(Console.ReadLine());
                //imprimiendo el tipo ficha apropiado según el
                //jugador actual
                if (jugador_actual == 1)
                    tablero.posiciones[posicion_elegida] = jugador1.tipo_ficha;
                else
                    tablero.posiciones[posicion_elegida] = jugador2.tipo_ficha;

                jugador_actual++;

                if (jugador_actual == 3)
                {
                    jugador_actual = 1;
                    ficha_actual++;
                    if (ficha_actual == 4)
                    {
                        ficha_actual = 0;
                    }
                }

            }
            Console.ReadLine();
        }