Example #1
0
 /// <summary>
 /// Realiza el proceso para crear una partida.
 /// Valida que no tenga nombre vacío y el jugador no haya creado una partida con ese mismo nombre que aun esté disponible.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void Bt_Crear_Click(object sender, RoutedEventArgs e)
 {
     if (tb_NombrePartida.Text != null && tb_NombrePartida.Text.Length > 0)
     {
         ServiceSYE.PartidaClient clientePartida = new ServiceSYE.PartidaClient(new InstanceContext(new Partidas()));
         MainWindow mainWindow = new MainWindow();
         if (mainWindow.ValidarNombreUsuario(tb_NombrePartida.Text))
         {
             try {
                 if (clientePartida.ValidarNombrePartida(tb_NombrePartida.Text + "-" + jugador.NombreUsuario))
                 {
                     CrearJuego(clientePartida);
                 }
                 else
                 {
                     MessageBox.Show(Properties.Resources.mb_NombrePartidaOcupado, Properties.Resources.mb_Alerta);
                 }
             } catch (CommunicationException) {
                 MessageBox.Show(Properties.Resources.mb_ConexionServidor, Properties.Resources.mb_Alerta);
             }
         }
         else
         {
             MessageBox.Show(Properties.Resources.mb_CaracteresInvalidosPartida, Properties.Resources.mb_Ayuda);
         }
     }
     else
     {
         MessageBox.Show(Properties.Resources.mb_NombreVacio, Properties.Resources.mb_Alerta);
     }
 }
Example #2
0
 /// <summary>
 /// Constructor de la ventana Espera.
 /// </summary>
 /// <param name="jugador">
 /// Objeto jugador que se mandó desde el menú.
 /// </param>
 /// <param name="partida">
 /// Objeto partida que se mandó desde el menú.
 /// </param>
 /// /// <param name="clientePartida">
 /// Conexión con el servidor para acceder a los métodos que proporciona sobre las partidas.
 /// </param>
 /// /// <param name="clienteChat">
 /// Conexión con el servidor para acceder a los métodos que proporciona sobre el chat.
 /// </param>
 /// /// <param name="partidas">
 /// Objeto mensajes que implementa los métodos que reciben respuesta del servidor, sobre las partidas.
 /// </param>
 /// /// <param name="mensajes">
 /// Objeto mensajes que implementa los métodos que reciben respuesta del servidor, sobre el chat.
 /// </param>
 public Partida(ServiceSYE.Jugador jugador, ServiceSYE.Partida partida, ServiceSYE.PartidaClient clientePartida, ServiceSYE.ChatClient clienteChat, Partidas partidas, Mensajes mensajes)
 {
     InitializeComponent();
     this.Title          = this.Title + " - " + jugador.NombreUsuario;
     partidas.Partida    = this;
     mensajes.Partida    = this;
     this.Jugador        = jugador;
     this.clienteChat    = clienteChat;
     this.clientePartida = clientePartida;
     this.clienteJugador = new ServiceSYE.JugadorClient();
     try {
         this.PartidaEnJuego = clientePartida.ObtenerPartida(partida.Nombre);
         DispatcherTimer temporizadorInicio = new DispatcherTimer();
         temporizadorInicio.Interval = new TimeSpan(0, 0, 5);
         temporizadorInicio.Tick    += (a, b) => {
             temporizadorInicio.Stop();
             if (PartidaEnJuego.JugadoresPartida.ElementAt(0).Value.NombreUsuario.Equals(jugador.NombreUsuario))
             {
                 try {
                     clienteChat.EnviarMensajePartida("", PartidaEnJuego.Nombre, 1);
                 } catch (CommunicationException) {
                     EnviarMensajeError();
                 }
             }
         };
         temporizadorInicio.Start();
         CargarTablero();
         CargarBonus();
         this.Jugador = ObtenerTurno(PartidaEnJuego.JugadoresPartida, this.Jugador);
         EnviarMensajeTurnos();
         ValidarConectado();
     } catch (CommunicationException) {
         EnviarMensajeError();
     }
 }
Example #3
0
        /// <summary>
        /// Constructor de la ventana UnirsePartida.
        /// </summary>
        /// <param name="menuPrincipal">
        /// Ventana MenúPrincipal de la cual se mandó a llamar la ventana.
        /// </param>
        /// <param name="jugador">
        /// Objeto jugador que se mandó desde el menú.
        /// </param>
        public UnirsePartida(MenuPrincipal menuPrincipal, ServiceSYE.Jugador jugador)
        {
            InitializeComponent();
            this.menuPrincipal = menuPrincipal;
            this.jugador       = jugador;
            Partidas partidas = new Partidas();

            partidas.UnirsePartida = this;
            InstanceContext contexto = new InstanceContext(partidas);

            clientePartida = new ServiceSYE.PartidaClient(contexto);
            try {
                clientePartida.VerPartidas(jugador.NombreUsuario);
            } catch (CommunicationException) {
                MessageBox.Show(Properties.Resources.mb_ConexionServidor, Properties.Resources.mb_Alerta);
            }
            CargarPartidas();
        }
Example #4
0
 /// <summary>
 /// Crea la partida.
 /// Si el jugador no tiene los puntos suficientes manda un mensaje de alerta.
 /// </summary>
 /// <param name="clientePartida">
 /// Referencia al servidor.
 /// </param>
 private void CrearJuego(ServiceSYE.PartidaClient clientePartida)
 {
     if (jugador.Estadisticas.Puntos >= 200)
     {
         ServiceSYE.Partida partida = new ServiceSYE.Partida {
             Nombre     = tb_NombrePartida.Text + "-" + jugador.NombreUsuario,
             Dificultad = cb_Dificultad.Text,
             Turno      = 1,
         };
         clientePartida.CrearPartida(partida);
         menuPrincipal.UnirseAPartida(partida);
         this.Close();
     }
     else
     {
         MessageBox.Show(Properties.Resources.mb_PuntosInsuficientes, Properties.Resources.mb_Alerta);
     }
 }