Пример #1
0
 private void Comunicacion_RespuestaPalabraEnviada(MensajeEnviarPalabra m)
 {
     if (m.Correcta)
     {
         if (m.To == usuario.User)
         {
             usuario.Puntos += m.Puntos;
             lblPuntos.Invoke((Action)(() => lblPuntos.Text = usuario.Puntos.ToString()));
             lblMensaje.Invoke((Action)(() =>
             {
                 lblMensaje.Text = "Ganaste esta ronda!!";
                 lblMensaje.Visible = true;
             }
                                        ));
         }
         else
         {
             lblMensaje.Invoke((Action)(() =>
             {
                 lblMensaje.Text = "El ganador es" + m.To + "!";
                 lblMensaje.Visible = true;
             }
                                        ));
         }
     }
     else
     {
         lbPalabrasIncorrectas.Invoke((Action)(() => { lbPalabrasIncorrectas.Items.Add(m.From + ": " + m.Palabra); }));
     }
 }
Пример #2
0
        private void Serializador_Recibir(MensajeBase msg)
        {
            switch (msg.TipoMensaje)
            {
            case "MensajeLogin":
                if (Logear != null)
                {
                    try
                    {
                        MensajeLogin msgL = (MensajeLogin)msg;
                        Logear(msgL);
                    }
                    catch (InvalidCastException e) { }
                }
                break;

            case "MensajeEntrarSala":
                if (EntraSala != null)
                {
                    try
                    {
                        MensajeEntrarSala msgEn = (MensajeEntrarSala)msg;
                        EntraSala(msgEn);
                    }
                    catch (InvalidCastException e) { }
                }
                break;

            case "MensajeDibujarPuntos":
                MensajeDibujarPuntos msgDibPun = (MensajeDibujarPuntos)msg;
                if (Dibujar != null)
                {
                    Dibujar(msgDibPun);
                }
                break;

            case "MensajeEnviarPalabra":
                MensajeEnviarPalabra msgEnvPal = (MensajeEnviarPalabra)msg;
                if (RespuestaPalabraEnviada != null)
                {
                    RespuestaPalabraEnviada(msgEnvPal);
                }
                break;

            case "MensajeIniciarPartida":
                if (IniciarPartida != null)
                {
                    try
                    {
                        MensajeIniciarPartida msgEn = (MensajeIniciarPartida)msg;
                        IniciarPartida(msgEn);
                    }
                    catch (InvalidCastException e) { }
                }
                break;

            case "MensajeTocaDibujar":
                if (TocaDibujar != null)
                {
                    try
                    {
                        MensajeTocaDibujar msgEn = (MensajeTocaDibujar)msg;
                        TocaDibujar(msgEn);
                    }
                    catch (InvalidCastException e) { }
                }
                break;

            case "MensajeFinTrazo":
                if (FinTrazo != null)
                {
                    try
                    {
                        MensajeFinTrazo msgEn = (MensajeFinTrazo)msg;
                        FinTrazo(msgEn);
                    }
                    catch (InvalidCastException e) { }
                }
                break;

            case "MensajeContador":
                if (Contador != null)
                {
                    try
                    {
                        MensajeContador msgCon = (MensajeContador)msg;
                        Contador(msgCon);
                    }
                    catch (InvalidCastException e) {
                        Console.WriteLine("151" + e.Message);
                    }
                }
                break;

            case "MensajeUsuariosEnSala":
                if (UsuariosEnSala != null)
                {
                    try {
                        MensajeUsuariosEnSala msgUsSala = (MensajeUsuariosEnSala)msg;
                        UsuariosEnSala(msgUsSala);
                    }
                    catch (InvalidCastException e)
                    {
                        Console.WriteLine("164" + e.Message);
                    }
                }
                break;

            case "MensajeGanador":
                if (Ganador != null)
                {
                    try
                    {
                        MensajeGanador msgGanador = (MensajeGanador)msg;
                        Ganador(msgGanador);
                    }
                    catch (InvalidCastException e)
                    {
                        Console.WriteLine("180" + e.Message);
                    }
                }
                break;

            case "MensajeEmpate":
                if (Empate != null)
                {
                    try
                    {
                        MensajeEmpate msgempate = (MensajeEmpate)msg;
                        Empate(msgempate);
                    }
                    catch (InvalidCastException e)
                    {
                        Console.WriteLine("195" + e.Message);
                    }
                }
                break;
            }
        }
Пример #3
0
        public void enviaRta(string rta, string nombre, int puntos)
        {
            MensajeEnviarPalabra enviarPalabra = new MensajeEnviarPalabra(nombre, "", 0, rta, puntos);

            serializador.enviarMensaje(enviarPalabra);
        }
Пример #4
0
        private void C_Recibir(MensajeBase msg)
        {
            //si es para el servidor:
            if (msg.To == "")
            {
                switch (msg.TipoMensaje)
                {
                case "MensajeEnviarPalabra":
                    MensajeEnviarPalabra mj = (MensajeEnviarPalabra)msg;
                    Cliente c = filtrar(mj.From);

                    if (corroborar(mj.Palabra))
                    {
                        if (c != null)
                        {
                            filtrar(mj.From).Puntos = mj.Puntos;
                            mj.To       = mj.From;
                            mj.From     = "";
                            mj.Correcta = true;
                            enviarTodos(mj, "");
                            RecToken.Cancel();
                            actualizarSala();
                            empezarPartida();
                        }
                    }
                    else
                    {
                        enviarTodos(mj, "");
                        // filtrar(mj.From).enviar();
                    }
                    break;

                case "MensajeDibujandoPuntos":
                    enviarTodos(msg, msg.From);
                    break;

                case "MensajeGanador":
                    msg = (MensajeGanador)msg;
                    break;

                case "MensajeEntrarSala":

                    Console.WriteLine("ENTRO A LA BENDITA SALA");
                    enSala++;
                    msg = (MensajeEntrarSala)msg;
                    usuarioEnsala.Add(msg.From);
                    actualizarSala();
                    if (enSala > 1 && !EmpezoPartida)
                    {
                        empezarPartida();
                    }
                    break;

                case "MensajeFinTrazo":
                    enviarTodos(msg, msg.From);
                    break;

                case "MensajeIniciarPartida":
                    rondaActual = 0;
                    turnoActual = 0;
                    foreach (Cliente cli in listaClientes)
                    {
                        cli.Puntos = -cli.Puntos;
                    }
                    actualizarSala();
                    empezarPartida();
                    break;
                }
            }
            #region msg todos o server

            //si el msj es para todos:
            else if (msg.To == "*")
            {
                lock (_ListaLocker)
                {
                    foreach (Cliente c in listaClientes)
                    {
                        c.enviar(msg);
                    }
                }
            }
            //todos menos uno
            else if (msg.To == "-")
            {
                enviarTodos(msg, msg.From);
            }
            // si no es para el servidor:
            else
            {
                if (filtrar(msg.To) != null)
                {
                    filtrar(msg.To).enviar(msg);
                }
            }
            #endregion
        }