Example #1
0
 /// <summary>
 /// Guarda en el array la posicion recibida.
 /// </summary>
 /// <param name="fila">Posición de la fila del boton pulsado por el jugador</param>
 /// <param name="col">Posición de la columna del boton pulsado por el jugador</param>
 /// <param name="devolf">Copia de la estructura de la clase form</param>
 public void PosiX(string fila, string col, Devolucion devolf)
 {
     _devol         = devolf;
     _devol.Fila    = Convert.ToInt32(fila);
     _devol.Columna = Convert.ToInt32(col);
     _casilla[_devol.Fila, _devol.Columna] = "X";
 }
Example #2
0
 /// <summary>
 /// Gestiona los pasos que debe hacer la maquina
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void Click_Maquina(object sender, EventArgs e)
 {
     //  Se llama al movimiento de la maquina en la clase juego y devuelve la estructura con la posicion de la jugada
     _devolf = _enraya.Movimientomaquina(_devolf);
     //  Escribe el texto en la posicion generada por el metodo anterior
     _boton[_devolf.Fila, _devolf.Columna].Text    = "O";
     _boton[_devolf.Fila, _devolf.Columna].Enabled = false;
     _devolf = _enraya.Comprobar(false);
     Ganador(sender, e);
     //devolf.turno = true;
 }
Example #3
0
        /// <summary>
        /// Gestiona los moviemientos del jugador y llama al moviento de la maquina
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Movimiento(object sender, EventArgs e)
        {
            //  Se crea una variable de tipo boton para generalizar el objeto y se pueda usar con todos los botones de form
            Button click = (Button)sender;

            //  Llama a un metodo para guardar la posicion del boton, que se le pasa a partir del nombre, posicion "1" para fila y posicion "2" para columna
            _enraya.PosiX(click.Name[1].ToString(), click.Name[2].ToString(), _devolf);
            //  A partir de la posicion extraida del metodo anterior se llama al movimiento que devuelve la estructura como esa posicion
            _devolf    = _enraya.Movimientojugador();
            click.Text = "X";   //  Escribe el texto en el boton pulsado recogido con sender
            // Llama al metodo que comprueba si se ha ganado enviando el turno y devolviendo en el campo ganador de la estruc. un "1" si gana jugador o "2" para la maquina
            _devolf       = _enraya.Comprobar(true);
            click.Enabled = false;                            // Deshanilita el boton para que no pueda volver a clicar en el
            Ganador(sender, e);                               //  En caso de que se haya ganado o empatado mostrara el mensaje correspondiente
            //devolf.turno = false;   //  Invierte el turno para que juegue la maquina
            if (_devolf.Ganador != 1 && _devolf.Ganador != 3) //  En caso de no resultar ganador el jugador, se llama a la maquina
            {
                Click_Maquina(sender, e);
            }
        }
Example #4
0
 /// <summary>
 /// Genera un moviento acorde a cada jugada, intentando ganar, cubrir, poner una esquina o movimiento aleatorio si no hay otra opción.
 /// </summary>
 /// <returns>Devuelve la estructura devol con la posicion del movimiento</returns>
 public Devolucion Movimientomaquina(Devolucion devolf)
 {
     // Copia de valores de la estructura de form1.
     _devol = devolf;
     // Reinicio de la variable para que pueda elegir la jugada.
     _seguir = true;
     // Condición que indica que si el centro no está ocupado, se escribirá ahí.
     if (_casilla[1, 1] == "-")
     {
         _casilla[1, 1] = "O";
         _devol.Fila    = 1;
         _devol.Columna = 1;
         _seguir        = false;
         _segturno      = true;
         return(_devol);
     }
     Ganar();
     NoPerder();
     Esquina();
     Aleatorio();
     return(_devol);
 }