示例#1
0
        /*
         * Método: void BtnStart_Click(object sender, EventArgs e)
         *
         * Función: detecta si ocurre un click en el boton Begin Arkanoid
         *
         * Descripción: El metodo verifica si se cumple con las restricciones
         * de ingreso de usuario (número de caracteres adecuado). Si se cumplen,
         * registra el usuario en la BD por medio de los controladores y
         * despliega la ventana
         * de juego.
         */
        private void BtnStart_Click(object sender, EventArgs e)
        {
            try
            {
                //Verificación si el texto está vacio llama la excepcion de EmptyUsername
                if (txtUsername.Text.Trim().Length == 0)
                {
                    throw new EmptyUsernameException("You must have a Username");
                }
                //Verificación si el nombre es demasiado largo llama la excepción de LengthExceeded
                if (txtUsername.Text.Length > 25)
                {
                    throw new LengthExceededException("Username length has to be 25 characters at most");
                }

                User u = new User();
                u.username = txtUsername.Text;
                //Verificación si el nombre de usuario ya existe
                if (!UserDAO.CheckUserNameExists(u.username))
                {
                    UserDAO.NewUser(u.username);
                }
                ((FormInterface)ParentForm).Hide();

                ((FormInterface)ParentForm).Hide();
                var form2 = new FormGame(u);
                form2.Closed += (s, args) => ((FormInterface)ParentForm).Close();
                form2.Show();
            }
            catch (EmptyUsernameException ex)
            {
                lblMessage.Text = ex.Message;
            }
            catch (LengthExceededException ex)
            {
                lblMessage.Text = ex.Message;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error");
            }
        }