Beispiel #1
0
 private void WindowLoad(object sender, EventArgs e)
 {
     this.ContentPanel.Size = new Size(this.Size.Width - this.MenuPanel.Size.Width, this.Size.Height - this.InfoPanel.Size.Height - 40);
     this.MenuPanelSizeChanged(sender, e);
     this.SearchTextBox_Leave(sender, e);
     HomeButton.PerformClick();
 }
        }//----------------------------------------------------------------------------------------Fin del Procedimiento

        #endregion
        //-----------------------------------------------------------------------------------------Fin de la Región

        //-----------------------------------------------------------------------------------------Aquí se evalúan los datos para dar una respuesta concreta al usuario; se determinan ganadores, cambios de turno, entre otros procesos críticos del juego
        #region "Evaluación de Datos"
        //-----------------------------------------------------------------------------------------Procedimiento que evalúa si el juego terminó con algún jugador como ganador
        private void GameEvaluation(Button Pos)
        {
            IconsRecharge();                                                                    // Recarga los iconos correspondientes según los valores almacenado en la matriz "TicTacToeBoard", mediante el procedimiento "IconsRecharge"

            //-------------------------------------------------------------------------------------Switch que evalúa si el ganador es el jugador 1 o el jugador 2, en caso de no existir ganador, mueve el turno al siguiente jugador
            switch (Convert.ToUInt16(PGC.PlayersWin(NamesForPlayersClass.turn)))
            {
            //---------------------------------------------------------------------------------Caso 1, significa si el ganador es el "jugador 1"
            case 1:
            {
                //-------------------------------------------------------------------------Imprime un mensaje al usuario (Jugador 1), el cual, le notifica que es ganador de la partida y le pregunta si desea continuar o ir al menú de opciones
                if (CustomMessageBox.CustomMessageBoxGraphics.Show("Congratulations,\nWinner: " + NamesForPlayersClass.NamePlayer1, "Player 1 Win", "Try Again", "Option Menu", 1) == DialogResult.No)
                {
                    HomeButton.PerformClick();                                                  // Realiza un click al botón "HomeButton"
                }
                ProcessCall(1);                                                                 // Llama al procedimiento "ProcessCall" que realizará los procesos necesarios para inicializar la partida, envía como parametro el dato "1", ya que, el ganador es el jugador 1
            } break;                                                                            // La función "break", indica que ahí se sale del switch
            //---------------------------------------------------------------------------------Fin del Caso

            //---------------------------------------------------------------------------------Caso 1, significa si el ganador es el "jugador 2"
            case 2:
            {
                //-------------------------------------------------------------------------Imprime un mensaje al usuario (Jugador 2), el cual, le notifica que es ganador de la partida y le pregunta si desea continuar o ir al menú de opciones
                if (CustomMessageBox.CustomMessageBoxGraphics.Show("Congratulations,\nWinner: " + NamesForPlayersClass.NamePlayer2, "Player 2 Win", "Try Again", "Option Menu", 1) == DialogResult.No)
                {
                    HomeButton.PerformClick();                                                  // Realiza un click al botón "HomeButton"
                }
                ProcessCall(2);                                                                 // Llama al procedimiento "ProcessCall" que realizará los procesos necesarios para inicializar la partida, envía como parametro el dato "2", ya que, el ganador es el jugador 2
            } break;                                                                            // La función "break", indica que ahí se sale del switch
            //---------------------------------------------------------------------------------Fin del Caso

            //---------------------------------------------------------------------------------El "default" se realiza en el momento que no se ejecuta ningun caso anterior, es decir, si ningún jugador ha ganado
            default:
            {
                //-------------------------------------------------------------------------Condición  que evalua el turno actual del jugador, con el proposito de cambiar el turno al siguiente jugador
                if (NamesForPlayersClass.turn == 1)
                {
                    NamesForPlayersClass.turn = 2;                                              // Asigna a la variable "turn" que se encuentra en la clase "NamesForPlayersClass", el valor "2", ya que, es el turno del jugador 2
                }
                else
                {
                    NamesForPlayersClass.turn = 1;                                              // Asigna a la variable "turn" que se encuentra en la clase "NamesForPlayersClass", el valor "1", ya que, es el turno del jugador 1
                }
            } break;                                                                            // La función "break", indica que ahí se sale del switch
            }
            rotateNames();                                                                      // Llama al Procedimiento "rotateNames", para actualizar el nombre del turno actual
        }//----------------------------------------------------------------------------------------Fin del Procedimiento
Beispiel #3
0
 private void ResetData_Click(object sender, EventArgs e)
 {
     FilterAndSearchConfig.ClearAll();
     if (this.ContentPanel.Controls.Count == 1)
     {
         if (this.ContentPanel.Controls[0] is BigAlbumView)
         {
             BigAlbumView buf = (BigAlbumView)this.ContentPanel.Controls[0];
             if (buf.isSlide())
             {
                 this.SlideModeButton.PerformClick();
             }
             return;
         }
     }
     HomeButton.PerformClick();
 }
        }//----------------------------------------------------------------------------------------Fin del Procedimiento

        //-----------------------------------------------------------------------------------------Procedimiento que evalúa si la partida a terminado como un empate
        private void TiedGameAction(Button Pos)
        {
            //-------------------------------------------------------------------------------------Condicional que muestra o imprime en el objeto "Button" el último símbolo correspondiente al turno o jugador. Esto mediante la evaluación del turno actual
            if (NamesForPlayersClass.turn == 1)
            {
                Pos.ForeColor = Color.DodgerBlue;                                               // Al objeto "Pos", se le cambia la propiedad del color de caracter mediante la función "ForeColor" y se le asigna el color "DodgerBlue"
                Pos.Text      = "X";                                                            // Imprime en el objeto "Button" "Pos" el datos o valor "X"
            }
            else
            {
                Pos.ForeColor = Color.OrangeRed;                                                // Al objeto "Pos", se le cambia la propiedad del color de caracter mediante la función "ForeColor" y se le asigna el color "OrangeRed"
                Pos.Text      = "O";                                                            // Imprime en el objeto "Button" "Pos" el datos o valor "O"
            }//------------------------------------------------------------------------------------Fin de la Condición

            //-------------------------------------------------------------------------------------Muestra un mensaje al usuario, el cual, le informa que el juego ha terminado empate y le pregunta si desea continuar o ir al menú de opciones
            if (CustomMessageBox.CustomMessageBoxGraphics.Show("Tied Game, Play Again", "Tied", "Try Again", "Option Menu", 1) == DialogResult.No)
            {
                HomeButton.PerformClick();                                                      // Realiza un click al botón "HomeButton
            }
            ProcessCall(3);                                                                     // Llama al procedimiento "ProcessCall" que realizará los procesos necesarios para inicializar la partida, envía como parametro el dato "3", ya que, la partida ha terminado empate
        }//----------------------------------------------------------------------------------------Fin del Procedimiento
        }//----------------------------------------------------------------------------------------Fin del Procedimiento

        //-----------------------------------------------------------------------------------------Procedimiento que realiza todos los procesos correspondiente para determinar un ganador en el modo "One Player"
        public void GamePlayerVSComputer(Button Pos)
        {
            //-------------------------------------------------------------------------------------Condicional que evalúa si la jugada es la ganadora para el jugador 1
            if (PGC.PlayersWin(1) == 1)
            {
                //---------------------------------------------------------------------------------Imprime un mensaje al usuario (Jugador 1), el cual, le notifica que es ganador de la partida y le pregunta si desea continuar o ir al menú de opciones
                if (CustomMessageBox.CustomMessageBoxGraphics.Show("Congratulations, \nWinner: " + NamesForPlayersClass.NamePlayer1, "Player 1 Win", "Try Again", "Option Menu", 1) == DialogResult.No)
                {
                    HomeButton.PerformClick();                                                  // Realiza un click al botón "HomeButton"
                }
                ProcessCall(1);                                                                 // Llama al procedimiento "ProcessCall" que realizará los procesos necesarios para inicializar la partida, envía como parámetro el dato "1", ya que, el ganador es el jugador 1
            }//------------------------------------------------------------------------------------Fin de Condicional
            else
            {
                PGC.ComputerPlay();                                                             // Llama al Procedimiento "ComputerPlay" desde la variable instanciada "PGC", esto le indica al algoritmo "minimax" que realice una jugada
                IconsRecharge();                                                                // Recarga los iconos correspondientes según los valores almacenado en la matriz "TicTacToeBoard", mediante el procedimiento "IconsRecharge"

                //---------------------------------------------------------------------------------Condicional que evalúa si la jugada es la ganadora para el jugador 2
                if (PGC.PlayersWin(2) == 2)
                {
                    //-----------------------------------------------------------------------------Imprime un mensaje al usuario (Jugador 2), el cual, le notifica que es ganador de la partida y le pregunta si desea continuar o ir al menú de opciones
                    if (CustomMessageBox.CustomMessageBoxGraphics.Show("Congratulations, \nWinner: " + NamesForPlayersClass.NamePlayer2, "Player 2 Win", "Try Again", "Option Menu", 1) == DialogResult.No)
                    {
                        HomeButton.PerformClick();                                              // Realiza un click al botón "HomeButton"
                    }
                    ProcessCall(2);                                                             // Llama al procedimiento "ProcessCall" que realizará los procesos necesarios para inicializar la partida, envía como parámetro el dato "2", ya que, el ganador es el jugador 2
                }
                else
                {
                    //-----------------------------------------------------------------------------Condición que vealúa si el juego ha terminado empate
                    if ((PGC.CompleteBoard() == true))
                    {
                        TiedGameAction(Pos);                                                    // Llama al procedimiento "TiedGameAction" para que haga los procesos correspondientes a una partida finalizada como empate
                        ProcessCall(0);                                                         // Llama al procedimiento "ProcessCall" enviándole como parámetro el número "0", el cuál se encarga de realizar los procesos correspondientes para que la computadora haga la primera jugada. Se envía el "0" como parámetro con el fin de realizar únicamente la primera jugada de la computadora
                    }//----------------------------------------------------------------------------Fin de la condición
                }//--------------------------------------------------------------------------------Fin de la condición
            } //------------------------------------------------------------------------------------Fin de la condición
        }     //----------------------------------------------------------------------------------------Fin del Procedimiento
Beispiel #6
0
 private void FrmMain_Load(object sender, EventArgs e)
 {
     HomeButton.PerformClick();
 }
Beispiel #7
0
 public void ClickHome()
 {
     HomeButton.PerformClick();
 }