コード例 #1
0
        /// <summary>
        /// Añade una carta a la mano del jugador
        /// </summary>
        /// <param name="nuevaCarta">Nueva carta a añadir</param>
        public void AniadirCarta(Carta nuevaCarta)
        {
            miMazo.Add(nuevaCarta);
            MostrarMano();

            try
            {
                PartidaAdmin.ActualizarNumeroDeCartas(miSala, ObtenerMiNickname(), miMazo.Count.ToString());
            }
            catch (EndpointNotFoundException)
            {
                new Mensaje
                {
                    TituloMensaje = Properties.Resources.ErrorServidor_TituloContenido,
                    Contenido     = Properties.Resources.ErrorServidor_MensajeContenido
                }.ShowDialog();
            }
            catch (TimeoutException)
            {
                new Mensaje
                {
                    TituloMensaje = Properties.Resources.ErrorServidor_TituloContenido,
                    Contenido     = Properties.Resources.ErrorServidor_MensajeContenido
                }.ShowDialog();
            }
            catch (CommunicationObjectFaultedException)
            {
                new Mensaje
                {
                    TituloMensaje = Properties.Resources.ErrorServidor_TituloContenido,
                    Contenido     = Properties.Resources.ErrorServidor_MensajeContenido
                }.ShowDialog();
            }
        }
コード例 #2
0
        private void TomarCarta(object sender, RoutedEventArgs e)
        {
            String miNickname = ObtenerMiNickname();

            try
            {
                PartidaAdmin.TomarCarta(miSala, miNickname);
            }
            catch (EndpointNotFoundException)
            {
                new Mensaje
                {
                    TituloMensaje = Properties.Resources.ErrorServidor_TituloContenido,
                    Contenido     = Properties.Resources.ErrorServidor_MensajeContenido
                }.ShowDialog();
            }
            catch (TimeoutException)
            {
                new Mensaje
                {
                    TituloMensaje = Properties.Resources.ErrorServidor_TituloContenido,
                    Contenido     = Properties.Resources.ErrorServidor_MensajeContenido
                }.ShowDialog();
            }
            catch (CommunicationObjectFaultedException)
            {
                new Mensaje
                {
                    TituloMensaje = Properties.Resources.ErrorServidor_TituloContenido,
                    Contenido     = Properties.Resources.ErrorServidor_MensajeContenido
                }.ShowDialog();
            }
        }
コード例 #3
0
        private void MostrarMano()
        {
            if (!Reglas.ElJugadorGano(miMazo))
            {
                manoJugador.Children.Clear();
                espacioEntreCartas = 0;

                foreach (Carta carta in miMazo)
                {
                    RenderizarImagen(carta);
                }
            }
            else
            {
                Jugador juadorGanador = new Jugador
                {
                    Nickname     = ObtenerMiNickname(),
                    PuntajeTotal = ObtenerMiPuntaje()
                };

                try
                {
                    PartidaAdmin.AnunciarGanador(miSala, juadorGanador);
                }
                catch (EndpointNotFoundException)
                {
                    new Mensaje
                    {
                        TituloMensaje = Properties.Resources.ErrorServidor_TituloContenido,
                        Contenido     = Properties.Resources.ErrorServidor_MensajeContenido
                    }.ShowDialog();
                }
                catch (TimeoutException)
                {
                    new Mensaje
                    {
                        TituloMensaje = Properties.Resources.ErrorServidor_TituloContenido,
                        Contenido     = Properties.Resources.ErrorServidor_MensajeContenido
                    }.ShowDialog();
                }
                catch (CommunicationObjectFaultedException)
                {
                    new Mensaje
                    {
                        TituloMensaje = Properties.Resources.ErrorServidor_TituloContenido,
                        Contenido     = Properties.Resources.ErrorServidor_MensajeContenido
                    }.ShowDialog();
                }
            }
        }
コード例 #4
0
ファイル: Lobby.xaml.cs プロジェクト: lzeroxl/Juego-UNO
        private void IniciarPartida(object sender, RoutedEventArgs e)
        {
            if (HayMinimoDeJugadores())
            {
                string idSala = idSalaActual.Text;

                try
                {
                    PartidaAdmin.IniciarPartida(idSala);
                }
                catch (EndpointNotFoundException)
                {
                    new Mensaje
                    {
                        TituloMensaje = Properties.Resources.ErrorServidor_TituloContenido,
                        Contenido     = Properties.Resources.ErrorServidor_MensajeContenido
                    }.ShowDialog();
                }
                catch (CommunicationObjectFaultedException)
                {
                    new Mensaje
                    {
                        TituloMensaje = Properties.Resources.ErrorServidor_TituloContenido,
                        Contenido     = Properties.Resources.ErrorServidor_MensajeContenido
                    }.ShowDialog();
                }
            }
            else
            {
                new Mensaje
                {
                    TituloMensaje = "Pocos jugadores",
                    Contenido     = "La sala no cumple con el minimo de jugadores esperados (2 jugadores). Por favor espera a que se unan otros."
                }.ShowDialog();
            }
        }
コード例 #5
0
        private void RenderizarImagen(Carta carta)
        {
            Image imagen = new Image();

            BitmapImage src = new BitmapImage();

            src.BeginInit();
            src.UriSource = new Uri(carta.Rutak__BackingField, UriKind.Relative);
            src.EndInit();

            imagen.Source = src;

            imagen.Stretch             = Stretch.Uniform;
            imagen.Height              = 110;
            imagen.VerticalAlignment   = VerticalAlignment.Bottom;
            imagen.HorizontalAlignment = HorizontalAlignment.Left;
            imagen.Margin              = new Thickness(espacioEntreCartas, 0, 0, 0);

            imagen.MouseLeftButtonUp += (s, ev) =>
            {
                if (EsMiTurno())
                {
                    if (Reglas.EsCartaValida(carta, cartaEnTablero))
                    {
                        try
                        {
                            PartidaAdmin.ColocarCarta(carta, miSala);
                        }
                        catch (EndpointNotFoundException)
                        {
                            new Mensaje
                            {
                                TituloMensaje = Properties.Resources.ErrorServidor_TituloContenido,
                                Contenido     = Properties.Resources.ErrorServidor_MensajeContenido
                            }.ShowDialog();
                        }
                        catch (TimeoutException)
                        {
                            new Mensaje
                            {
                                TituloMensaje = Properties.Resources.ErrorServidor_TituloContenido,
                                Contenido     = Properties.Resources.ErrorServidor_MensajeContenido
                            }.ShowDialog();
                        }
                        catch (CommunicationObjectFaultedException)
                        {
                            new Mensaje
                            {
                                TituloMensaje = Properties.Resources.ErrorServidor_TituloContenido,
                                Contenido     = Properties.Resources.ErrorServidor_MensajeContenido
                            }.ShowDialog();
                        }

                        miMazo.Remove(carta);
                        manoJugador.Children.Remove(imagen);

                        try
                        {
                            PartidaAdmin.ActualizarNumeroDeCartas(miSala, ObtenerMiNickname(), miMazo.Count.ToString());
                            PartidaAdmin.ActualizarPuntaje(miSala, ObtenerMiNickname(), carta.Numerok__BackingField);
                        }
                        catch (EndpointNotFoundException)
                        {
                            new Mensaje
                            {
                                TituloMensaje = Properties.Resources.ErrorServidor_TituloContenido,
                                Contenido     = Properties.Resources.ErrorServidor_MensajeContenido
                            }.ShowDialog();
                        }
                        catch (TimeoutException)
                        {
                            new Mensaje
                            {
                                TituloMensaje = Properties.Resources.ErrorServidor_TituloContenido,
                                Contenido     = Properties.Resources.ErrorServidor_MensajeContenido
                            }.ShowDialog();
                        }
                        catch (CommunicationObjectFaultedException)
                        {
                            new Mensaje
                            {
                                TituloMensaje = Properties.Resources.ErrorServidor_TituloContenido,
                                Contenido     = Properties.Resources.ErrorServidor_MensajeContenido
                            }.ShowDialog();
                        }

                        ActualizarMiPuntaje(carta.Numerok__BackingField);
                        MostrarMano();
                    }
                    else
                    {
                        new Mensaje {
                            TituloMensaje = Properties.Resources.Partida_CartaNoPermitidaTitulo,
                            Contenido     = Properties.Resources.Partida_CartaNoPermitidaMensaje
                        }.ShowDialog();
                    }
                }
                else
                {
                    new Mensaje
                    {
                        TituloMensaje = Properties.Resources.Partida_AccionNoPermitidaTitulo,
                        Contenido     = Properties.Resources.Partida_AccionNoPermitidaMensaje
                    }.ShowDialog();
                }
            };

            Grid.SetRow(imagen, 0);
            Grid.SetColumn(imagen, 0);

            manoJugador.Children.Add(imagen);

            espacioEntreCartas += 30;
        }